include/gen/amc_gen.h#

    1//
    2// include/gen/amc_gen.h
    3// Generated by AMC
    4//
    5// Copyright (C) 2008-2013 AlgoEngineering LLC
    6// Copyright (C) 2013-2019 NYSE | Intercontinental Exchange
    7// Copyright (C) 2020-2023 Astra
    8// Copyright (C) 2023 AlgoRND
    9//
   10// This program is free software: you can redistribute it and/or modify
   11// it under the terms of the GNU General Public License as published by
   12// the Free Software Foundation, either version 3 of the License, or
   13// (at your option) any later version.
   14//
   15// This program is distributed in the hope that it will be useful,
   16// but WITHOUT ANY WARRANTY; without even the implied warranty of
   17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   18// GNU General Public License for more details.
   19//
   20// You should have received a copy of the GNU General Public License
   21// along with this program.  If not, see <https://www.gnu.org/licenses/>.
   22//
   23
   24
   25#pragma once
   26#include "include/gen/algo_gen.h"
   27#include "include/gen/dmmeta_gen.h"
   28#include "include/gen/amcdb_gen.h"
   29#include "include/gen/command_gen.h"
   30#include "include/gen/report_gen.h"
   31#include "include/gen/algo_lib_gen.h"
   32#include "include/gen/dev_gen.h"
   33//#pragma endinclude
   34// gen:ns_enums
   35
   36// --- amc_BltinIdEnum
   37
   38enum amc_BltinIdEnum {             // amc.BltinId.value
   39     amc_BltinId_bool       = 0    // dflt is a c++ expr: real dflt is 'N'
   40    ,amc_BltinId_char       = 1    // char
   41    ,amc_BltinId_double     = 2    // double
   42    ,amc_BltinId_float      = 3    // float
   43    ,amc_BltinId_i16        = 4    // 16-bit   signed integer
   44    ,amc_BltinId_i32        = 5    // 32-bit   signed integer
   45    ,amc_BltinId_i64        = 6    // 64-bit   signed integer
   46    ,amc_BltinId_i8         = 7    // 8-bit   signed integer
   47    ,amc_BltinId_pad_byte   = 8
   48    ,amc_BltinId_u128       = 9    // 128-bit unsigned integer
   49    ,amc_BltinId_u16        = 10   // 16-bit unsigned integer
   50    ,amc_BltinId_u32        = 11   // 32-bit unsigned integer
   51    ,amc_BltinId_u64        = 12   // 64-bit unsigned integer
   52    ,amc_BltinId_u8         = 13   // 8-bit unsigned integer
   53};
   54
   55enum { amc_BltinIdEnum_N = 14 };
   56
   57
   58// --- amc_CppkeywordIdEnum
   59
   60enum amc_CppkeywordIdEnum {                    // amc.CppkeywordId.id
   61     amc_CppkeywordId_alignas            = 0
   62    ,amc_CppkeywordId_alignof            = 1
   63    ,amc_CppkeywordId_and                = 2
   64    ,amc_CppkeywordId_and_eq             = 3
   65    ,amc_CppkeywordId_asm                = 4
   66    ,amc_CppkeywordId_auto               = 5
   67    ,amc_CppkeywordId_bitand             = 6
   68    ,amc_CppkeywordId_bitor              = 7
   69    ,amc_CppkeywordId_bool               = 8
   70    ,amc_CppkeywordId_break              = 9
   71    ,amc_CppkeywordId_case               = 10
   72    ,amc_CppkeywordId_catch              = 11
   73    ,amc_CppkeywordId_char               = 12
   74    ,amc_CppkeywordId_char16_t           = 13
   75    ,amc_CppkeywordId_char32_t           = 14
   76    ,amc_CppkeywordId_class              = 15
   77    ,amc_CppkeywordId_compl              = 16
   78    ,amc_CppkeywordId_const              = 17
   79    ,amc_CppkeywordId_constexpr          = 18
   80    ,amc_CppkeywordId_const_cast         = 19
   81    ,amc_CppkeywordId_continue           = 20
   82    ,amc_CppkeywordId_decltype           = 21
   83    ,amc_CppkeywordId_default            = 22
   84    ,amc_CppkeywordId_delete             = 23
   85    ,amc_CppkeywordId_do                 = 24
   86    ,amc_CppkeywordId_double             = 25
   87    ,amc_CppkeywordId_dynamic_cast       = 26
   88    ,amc_CppkeywordId_else               = 27
   89    ,amc_CppkeywordId_enum               = 28
   90    ,amc_CppkeywordId_explicit           = 29
   91    ,amc_CppkeywordId_export             = 30
   92    ,amc_CppkeywordId_extern             = 31
   93    ,amc_CppkeywordId_false              = 32
   94    ,amc_CppkeywordId_float              = 33
   95    ,amc_CppkeywordId_for                = 34
   96    ,amc_CppkeywordId_friend             = 35
   97    ,amc_CppkeywordId_goto               = 36
   98    ,amc_CppkeywordId_if                 = 37
   99    ,amc_CppkeywordId_inline             = 38
  100    ,amc_CppkeywordId_int                = 39
  101    ,amc_CppkeywordId_long               = 40
  102    ,amc_CppkeywordId_mutable            = 41
  103    ,amc_CppkeywordId_namespace          = 42
  104    ,amc_CppkeywordId_new                = 43
  105    ,amc_CppkeywordId_noexcept           = 44
  106    ,amc_CppkeywordId_not                = 45
  107    ,amc_CppkeywordId_not_eq             = 46
  108    ,amc_CppkeywordId_nullptr            = 47
  109    ,amc_CppkeywordId_operator           = 48
  110    ,amc_CppkeywordId_or                 = 49
  111    ,amc_CppkeywordId_or_eq              = 50
  112    ,amc_CppkeywordId_private            = 51
  113    ,amc_CppkeywordId_protected          = 52
  114    ,amc_CppkeywordId_public             = 53
  115    ,amc_CppkeywordId_register           = 54
  116    ,amc_CppkeywordId_reinterpret_cast   = 55
  117    ,amc_CppkeywordId_return             = 56
  118    ,amc_CppkeywordId_short              = 57
  119    ,amc_CppkeywordId_signed             = 58
  120    ,amc_CppkeywordId_sizeof             = 59
  121    ,amc_CppkeywordId_static             = 60
  122    ,amc_CppkeywordId_static_assert      = 61
  123    ,amc_CppkeywordId_static_cast        = 62
  124    ,amc_CppkeywordId_struct             = 63
  125    ,amc_CppkeywordId_switch             = 64
  126    ,amc_CppkeywordId_template           = 65
  127    ,amc_CppkeywordId_this               = 66
  128    ,amc_CppkeywordId_thread_local       = 67
  129    ,amc_CppkeywordId_throw              = 68
  130    ,amc_CppkeywordId_true               = 69
  131    ,amc_CppkeywordId_try                = 70
  132    ,amc_CppkeywordId_typedef            = 71
  133    ,amc_CppkeywordId_typeid             = 72
  134    ,amc_CppkeywordId_typename           = 73
  135    ,amc_CppkeywordId_union              = 74
  136    ,amc_CppkeywordId_unsigned           = 75
  137    ,amc_CppkeywordId_using              = 76
  138    ,amc_CppkeywordId_virtual            = 77
  139    ,amc_CppkeywordId_void               = 78
  140    ,amc_CppkeywordId_volatile           = 79
  141    ,amc_CppkeywordId_wchar_t            = 80
  142    ,amc_CppkeywordId_while              = 81
  143    ,amc_CppkeywordId_xor                = 82
  144    ,amc_CppkeywordId_xor_eq             = 83
  145};
  146
  147enum { amc_CppkeywordIdEnum_N = 84 };
  148
  149
  150// --- amc_FieldIdEnum
  151
  152enum amc_FieldIdEnum {        // amc.FieldId.value
  153     amc_FieldId_value   = 0
  154    ,amc_FieldId_len     = 1
  155    ,amc_FieldId_str     = 2
  156};
  157
  158enum { amc_FieldIdEnum_N = 3 };
  159
  160
  161// --- amc_PnewtypeEnum
  162
  163enum amc_PnewtypeEnum {             // amc.Pnewtype.value
  164     amc_Pnewtype_Memptr      = 0   // Some region in memory
  165    ,amc_Pnewtype_AmsStream   = 1   // Ams stream
  166    ,amc_Pnewtype_Fixed       = 2   // Fixed buffer
  167    ,amc_Pnewtype_Dynamic     = 3   // Dynamic buffer
  168    ,amc_Pnewtype_ByteAry     = 4   // ByteAry
  169    ,amc_Pnewtype_Append      = 5   // Append
  170};
  171
  172enum { amc_PnewtypeEnum_N = 6 };
  173
  174
  175// --- amc_TableIdEnum
  176
  177enum amc_TableIdEnum {                           // amc.TableId.value
  178     amc_TableId_dmmeta_Anonfld           = 0    // dmmeta.Anonfld -> amc.FAnonfld
  179    ,amc_TableId_dmmeta_anonfld           = 0    // dmmeta.anonfld -> amc.FAnonfld
  180    ,amc_TableId_dmmeta_Argvtype          = 1    // dmmeta.Argvtype -> amc.FArgvtype
  181    ,amc_TableId_dmmeta_argvtype          = 1    // dmmeta.argvtype -> amc.FArgvtype
  182    ,amc_TableId_dmmeta_Basepool          = 2    // dmmeta.Basepool -> amc.FBasepool
  183    ,amc_TableId_dmmeta_basepool          = 2    // dmmeta.basepool -> amc.FBasepool
  184    ,amc_TableId_dmmeta_Bitfld            = 3    // dmmeta.Bitfld -> amc.FBitfld
  185    ,amc_TableId_dmmeta_bitfld            = 3    // dmmeta.bitfld -> amc.FBitfld
  186    ,amc_TableId_amcdb_Bltin              = 4    // amcdb.Bltin -> amc.FBltin
  187    ,amc_TableId_amcdb_bltin              = 4    // amcdb.bltin -> amc.FBltin
  188    ,amc_TableId_dmmeta_Cafter            = 5    // dmmeta.Cafter -> amc.FCafter
  189    ,amc_TableId_dmmeta_cafter            = 5    // dmmeta.cafter -> amc.FCafter
  190    ,amc_TableId_dmmeta_Cascdel           = 6    // dmmeta.Cascdel -> amc.FCascdel
  191    ,amc_TableId_dmmeta_cascdel           = 6    // dmmeta.cascdel -> amc.FCascdel
  192    ,amc_TableId_dmmeta_Ccmp              = 7    // dmmeta.Ccmp -> amc.FCcmp
  193    ,amc_TableId_dmmeta_ccmp              = 7    // dmmeta.ccmp -> amc.FCcmp
  194    ,amc_TableId_dmmeta_Cdflt             = 8    // dmmeta.Cdflt -> amc.FCdflt
  195    ,amc_TableId_dmmeta_cdflt             = 8    // dmmeta.cdflt -> amc.FCdflt
  196    ,amc_TableId_dmmeta_Cextern           = 9    // dmmeta.Cextern -> amc.FCextern
  197    ,amc_TableId_dmmeta_cextern           = 9    // dmmeta.cextern -> amc.FCextern
  198    ,amc_TableId_dmmeta_Cfast             = 10   // dmmeta.Cfast -> amc.FCfast
  199    ,amc_TableId_dmmeta_cfast             = 10   // dmmeta.cfast -> amc.FCfast
  200    ,amc_TableId_dmmeta_Cfmt              = 11   // dmmeta.Cfmt -> amc.FCfmt
  201    ,amc_TableId_dmmeta_cfmt              = 11   // dmmeta.cfmt -> amc.FCfmt
  202    ,amc_TableId_dmmeta_Cget              = 12   // dmmeta.Cget -> amc.FCget
  203    ,amc_TableId_dmmeta_cget              = 12   // dmmeta.cget -> amc.FCget
  204    ,amc_TableId_dmmeta_Charset           = 13   // dmmeta.Charset -> amc.FCharset
  205    ,amc_TableId_dmmeta_charset           = 13   // dmmeta.charset -> amc.FCharset
  206    ,amc_TableId_dmmeta_Chash             = 14   // dmmeta.Chash -> amc.FChash
  207    ,amc_TableId_dmmeta_chash             = 14   // dmmeta.chash -> amc.FChash
  208    ,amc_TableId_dmmeta_Cppfunc           = 15   // dmmeta.Cppfunc -> amc.FCppfunc
  209    ,amc_TableId_dmmeta_cppfunc           = 15   // dmmeta.cppfunc -> amc.FCppfunc
  210    ,amc_TableId_dmmeta_Cpptype           = 16   // dmmeta.Cpptype -> amc.FCpptype
  211    ,amc_TableId_dmmeta_cpptype           = 16   // dmmeta.cpptype -> amc.FCpptype
  212    ,amc_TableId_dmmeta_Csize             = 17   // dmmeta.Csize -> amc.FCsize
  213    ,amc_TableId_dmmeta_csize             = 17   // dmmeta.csize -> amc.FCsize
  214    ,amc_TableId_dmmeta_Cstr              = 18   // dmmeta.Cstr -> amc.FCstr
  215    ,amc_TableId_dmmeta_cstr              = 18   // dmmeta.cstr -> amc.FCstr
  216    ,amc_TableId_dmmeta_Ctype             = 19   // dmmeta.Ctype -> amc.FCtype
  217    ,amc_TableId_dmmeta_ctype             = 19   // dmmeta.ctype -> amc.FCtype
  218    ,amc_TableId_dmmeta_Dispatch          = 20   // dmmeta.Dispatch -> amc.FDispatch
  219    ,amc_TableId_dmmeta_dispatch          = 20   // dmmeta.dispatch -> amc.FDispatch
  220    ,amc_TableId_dmmeta_DispatchMsg       = 21   // dmmeta.DispatchMsg -> amc.FDispatchmsg
  221    ,amc_TableId_dmmeta_dispatch_msg      = 21   // dmmeta.dispatch_msg -> amc.FDispatchmsg
  222    ,amc_TableId_dmmeta_Dispctx           = 22   // dmmeta.Dispctx -> amc.FDispctx
  223    ,amc_TableId_dmmeta_dispctx           = 22   // dmmeta.dispctx -> amc.FDispctx
  224    ,amc_TableId_dmmeta_Dispfilter        = 23   // dmmeta.Dispfilter -> amc.FDispfilter
  225    ,amc_TableId_dmmeta_dispfilter        = 23   // dmmeta.dispfilter -> amc.FDispfilter
  226    ,amc_TableId_dmmeta_Disptrace         = 24   // dmmeta.Disptrace -> amc.FDisptrace
  227    ,amc_TableId_dmmeta_disptrace         = 24   // dmmeta.disptrace -> amc.FDisptrace
  228    ,amc_TableId_dmmeta_Falias            = 25   // dmmeta.Falias -> amc.FFalias
  229    ,amc_TableId_dmmeta_falias            = 25   // dmmeta.falias -> amc.FFalias
  230    ,amc_TableId_dmmeta_Fbase             = 26   // dmmeta.Fbase -> amc.FFbase
  231    ,amc_TableId_dmmeta_fbase             = 26   // dmmeta.fbase -> amc.FFbase
  232    ,amc_TableId_dmmeta_Fbigend           = 27   // dmmeta.Fbigend -> amc.FFbigend
  233    ,amc_TableId_dmmeta_fbigend           = 27   // dmmeta.fbigend -> amc.FFbigend
  234    ,amc_TableId_dmmeta_Fbitset           = 28   // dmmeta.Fbitset -> amc.FFbitset
  235    ,amc_TableId_dmmeta_fbitset           = 28   // dmmeta.fbitset -> amc.FFbitset
  236    ,amc_TableId_dmmeta_Fbuf              = 29   // dmmeta.Fbuf -> amc.FFbuf
  237    ,amc_TableId_dmmeta_fbuf              = 29   // dmmeta.fbuf -> amc.FFbuf
  238    ,amc_TableId_dmmeta_Fcast             = 30   // dmmeta.Fcast -> amc.FFcast
  239    ,amc_TableId_dmmeta_fcast             = 30   // dmmeta.fcast -> amc.FFcast
  240    ,amc_TableId_dmmeta_Fcleanup          = 31   // dmmeta.Fcleanup -> amc.FFcleanup
  241    ,amc_TableId_dmmeta_fcleanup          = 31   // dmmeta.fcleanup -> amc.FFcleanup
  242    ,amc_TableId_dmmeta_Fcmap             = 32   // dmmeta.Fcmap -> amc.FFcmap
  243    ,amc_TableId_dmmeta_fcmap             = 32   // dmmeta.fcmap -> amc.FFcmap
  244    ,amc_TableId_dmmeta_Fcmdline          = 33   // dmmeta.Fcmdline -> amc.FFcmdline
  245    ,amc_TableId_dmmeta_fcmdline          = 33   // dmmeta.fcmdline -> amc.FFcmdline
  246    ,amc_TableId_dmmeta_Fcmp              = 34   // dmmeta.Fcmp -> amc.FFcmp
  247    ,amc_TableId_dmmeta_fcmp              = 34   // dmmeta.fcmp -> amc.FFcmp
  248    ,amc_TableId_dmmeta_Fcompact          = 35   // dmmeta.Fcompact -> amc.FFcompact
  249    ,amc_TableId_dmmeta_fcompact          = 35   // dmmeta.fcompact -> amc.FFcompact
  250    ,amc_TableId_dmmeta_Fconst            = 36   // dmmeta.Fconst -> amc.FFconst
  251    ,amc_TableId_dmmeta_fconst            = 36   // dmmeta.fconst -> amc.FFconst
  252    ,amc_TableId_dmmeta_Fcurs             = 37   // dmmeta.Fcurs -> amc.FFcurs
  253    ,amc_TableId_dmmeta_fcurs             = 37   // dmmeta.fcurs -> amc.FFcurs
  254    ,amc_TableId_dmmeta_Fdec              = 38   // dmmeta.Fdec -> amc.FFdec
  255    ,amc_TableId_dmmeta_fdec              = 38   // dmmeta.fdec -> amc.FFdec
  256    ,amc_TableId_dmmeta_Fdelay            = 39   // dmmeta.Fdelay -> amc.FFdelay
  257    ,amc_TableId_dmmeta_fdelay            = 39   // dmmeta.fdelay -> amc.FFdelay
  258    ,amc_TableId_dmmeta_Ffast             = 40   // dmmeta.Ffast -> amc.FFfast
  259    ,amc_TableId_dmmeta_ffast             = 40   // dmmeta.ffast -> amc.FFfast
  260    ,amc_TableId_dmmeta_Fflag             = 41   // dmmeta.Fflag -> amc.FFflag
  261    ,amc_TableId_dmmeta_fflag             = 41   // dmmeta.fflag -> amc.FFflag
  262    ,amc_TableId_dmmeta_Field             = 42   // dmmeta.Field -> amc.FField
  263    ,amc_TableId_dmmeta_field             = 42   // dmmeta.field -> amc.FField
  264    ,amc_TableId_dmmeta_Findrem           = 43   // dmmeta.Findrem -> amc.FFindrem
  265    ,amc_TableId_dmmeta_findrem           = 43   // dmmeta.findrem -> amc.FFindrem
  266    ,amc_TableId_dmmeta_Finput            = 44   // dmmeta.Finput -> amc.FFinput
  267    ,amc_TableId_dmmeta_finput            = 44   // dmmeta.finput -> amc.FFinput
  268    ,amc_TableId_dmmeta_Fldoffset         = 45   // dmmeta.Fldoffset -> amc.FFldoffset
  269    ,amc_TableId_dmmeta_fldoffset         = 45   // dmmeta.fldoffset -> amc.FFldoffset
  270    ,amc_TableId_dmmeta_Floadtuples       = 46   // dmmeta.Floadtuples -> amc.FFloadtuples
  271    ,amc_TableId_dmmeta_floadtuples       = 46   // dmmeta.floadtuples -> amc.FFloadtuples
  272    ,amc_TableId_dmmeta_Fnoremove         = 47   // dmmeta.Fnoremove -> amc.FFnoremove
  273    ,amc_TableId_dmmeta_fnoremove         = 47   // dmmeta.fnoremove -> amc.FFnoremove
  274    ,amc_TableId_dmmeta_Foutput           = 48   // dmmeta.Foutput -> amc.FFoutput
  275    ,amc_TableId_dmmeta_foutput           = 48   // dmmeta.foutput -> amc.FFoutput
  276    ,amc_TableId_dmmeta_Fprefix           = 49   // dmmeta.Fprefix -> amc.FFprefix
  277    ,amc_TableId_dmmeta_fprefix           = 49   // dmmeta.fprefix -> amc.FFprefix
  278    ,amc_TableId_dmmeta_Fregx             = 50   // dmmeta.Fregx -> amc.FFregx
  279    ,amc_TableId_dmmeta_fregx             = 50   // dmmeta.fregx -> amc.FFregx
  280    ,amc_TableId_dmmeta_Fsort             = 51   // dmmeta.Fsort -> amc.FFsort
  281    ,amc_TableId_dmmeta_fsort             = 51   // dmmeta.fsort -> amc.FFsort
  282    ,amc_TableId_dmmeta_Fstep             = 52   // dmmeta.Fstep -> amc.FFstep
  283    ,amc_TableId_dmmeta_fstep             = 52   // dmmeta.fstep -> amc.FFstep
  284    ,amc_TableId_dmmeta_Ftrace            = 53   // dmmeta.Ftrace -> amc.FFtrace
  285    ,amc_TableId_dmmeta_ftrace            = 53   // dmmeta.ftrace -> amc.FFtrace
  286    ,amc_TableId_dmmeta_Func              = 54   // dmmeta.Func -> amc.FFunc
  287    ,amc_TableId_dmmeta_func              = 54   // dmmeta.func -> amc.FFunc
  288    ,amc_TableId_dmmeta_Funique           = 55   // dmmeta.Funique -> amc.FFunique
  289    ,amc_TableId_dmmeta_funique           = 55   // dmmeta.funique -> amc.FFunique
  290    ,amc_TableId_dmmeta_Fuserinit         = 56   // dmmeta.Fuserinit -> amc.FFuserinit
  291    ,amc_TableId_dmmeta_fuserinit         = 56   // dmmeta.fuserinit -> amc.FFuserinit
  292    ,amc_TableId_dmmeta_Fwddecl           = 57   // dmmeta.Fwddecl -> amc.FFwddecl
  293    ,amc_TableId_dmmeta_fwddecl           = 57   // dmmeta.fwddecl -> amc.FFwddecl
  294    ,amc_TableId_dmmeta_Gconst            = 58   // dmmeta.Gconst -> amc.FGconst
  295    ,amc_TableId_dmmeta_gconst            = 58   // dmmeta.gconst -> amc.FGconst
  296    ,amc_TableId_dmmeta_Gstatic           = 59   // dmmeta.Gstatic -> amc.FGstatic
  297    ,amc_TableId_dmmeta_gstatic           = 59   // dmmeta.gstatic -> amc.FGstatic
  298    ,amc_TableId_dmmeta_Gsymbol           = 60   // dmmeta.Gsymbol -> amc.FGsymbol
  299    ,amc_TableId_dmmeta_gsymbol           = 60   // dmmeta.gsymbol -> amc.FGsymbol
  300    ,amc_TableId_dmmeta_Hook              = 61   // dmmeta.Hook -> amc.FHook
  301    ,amc_TableId_dmmeta_hook              = 61   // dmmeta.hook -> amc.FHook
  302    ,amc_TableId_dmmeta_Inlary            = 62   // dmmeta.Inlary -> amc.FInlary
  303    ,amc_TableId_dmmeta_inlary            = 62   // dmmeta.inlary -> amc.FInlary
  304    ,amc_TableId_dmmeta_Lenfld            = 63   // dmmeta.Lenfld -> amc.FLenfld
  305    ,amc_TableId_dmmeta_lenfld            = 63   // dmmeta.lenfld -> amc.FLenfld
  306    ,amc_TableId_dev_License              = 64   // dev.License -> amc.FLicense
  307    ,amc_TableId_dev_license              = 64   // dev.license -> amc.FLicense
  308    ,amc_TableId_dmmeta_Listtype          = 65   // dmmeta.Listtype -> amc.FListtype
  309    ,amc_TableId_dmmeta_listtype          = 65   // dmmeta.listtype -> amc.FListtype
  310    ,amc_TableId_dmmeta_Llist             = 66   // dmmeta.Llist -> amc.FLlist
  311    ,amc_TableId_dmmeta_llist             = 66   // dmmeta.llist -> amc.FLlist
  312    ,amc_TableId_dmmeta_Main              = 67   // dmmeta.Main -> amc.FMain
  313    ,amc_TableId_dmmeta_main              = 67   // dmmeta.main -> amc.FMain
  314    ,amc_TableId_dmmeta_Msgtype           = 68   // dmmeta.Msgtype -> amc.FMsgtype
  315    ,amc_TableId_dmmeta_msgtype           = 68   // dmmeta.msgtype -> amc.FMsgtype
  316    ,amc_TableId_dmmeta_Nocascdel         = 69   // dmmeta.Nocascdel -> amc.FNocascdel
  317    ,amc_TableId_dmmeta_nocascdel         = 69   // dmmeta.nocascdel -> amc.FNocascdel
  318    ,amc_TableId_dmmeta_Nossimfile        = 70   // dmmeta.Nossimfile -> amc.FNossimfile
  319    ,amc_TableId_dmmeta_nossimfile        = 70   // dmmeta.nossimfile -> amc.FNossimfile
  320    ,amc_TableId_dmmeta_Noxref            = 71   // dmmeta.Noxref -> amc.FNoxref
  321    ,amc_TableId_dmmeta_noxref            = 71   // dmmeta.noxref -> amc.FNoxref
  322    ,amc_TableId_dmmeta_Ns                = 72   // dmmeta.Ns -> amc.FNs
  323    ,amc_TableId_dmmeta_ns                = 72   // dmmeta.ns -> amc.FNs
  324    ,amc_TableId_dmmeta_Nscpp             = 73   // dmmeta.Nscpp -> amc.FNscpp
  325    ,amc_TableId_dmmeta_nscpp             = 73   // dmmeta.nscpp -> amc.FNscpp
  326    ,amc_TableId_dmmeta_Nsdb              = 74   // dmmeta.Nsdb -> amc.FNsdb
  327    ,amc_TableId_dmmeta_nsdb              = 74   // dmmeta.nsdb -> amc.FNsdb
  328    ,amc_TableId_dmmeta_Nsinclude         = 75   // dmmeta.Nsinclude -> amc.FNsinclude
  329    ,amc_TableId_dmmeta_nsinclude         = 75   // dmmeta.nsinclude -> amc.FNsinclude
  330    ,amc_TableId_dmmeta_Nsproto           = 76   // dmmeta.Nsproto -> amc.FNsproto
  331    ,amc_TableId_dmmeta_nsproto           = 76   // dmmeta.nsproto -> amc.FNsproto
  332    ,amc_TableId_dmmeta_Nsx               = 77   // dmmeta.Nsx -> amc.FNsx
  333    ,amc_TableId_dmmeta_nsx               = 77   // dmmeta.nsx -> amc.FNsx
  334    ,amc_TableId_dmmeta_Numstr            = 78   // dmmeta.Numstr -> amc.FNumstr
  335    ,amc_TableId_dmmeta_numstr            = 78   // dmmeta.numstr -> amc.FNumstr
  336    ,amc_TableId_dmmeta_Pack              = 79   // dmmeta.Pack -> amc.FPack
  337    ,amc_TableId_dmmeta_pack              = 79   // dmmeta.pack -> amc.FPack
  338    ,amc_TableId_dmmeta_Pmaskfld          = 80   // dmmeta.Pmaskfld -> amc.FPmaskfld
  339    ,amc_TableId_dmmeta_pmaskfld          = 80   // dmmeta.pmaskfld -> amc.FPmaskfld
  340    ,amc_TableId_dmmeta_PmaskfldMember    = 81   // dmmeta.PmaskfldMember -> amc.FPmaskfldMember
  341    ,amc_TableId_dmmeta_pmaskfld_member   = 81   // dmmeta.pmaskfld_member -> amc.FPmaskfldMember
  342    ,amc_TableId_dmmeta_Pnew              = 82   // dmmeta.Pnew -> amc.FPnew
  343    ,amc_TableId_dmmeta_pnew              = 82   // dmmeta.pnew -> amc.FPnew
  344    ,amc_TableId_dmmeta_Ptrary            = 83   // dmmeta.Ptrary -> amc.FPtrary
  345    ,amc_TableId_dmmeta_ptrary            = 83   // dmmeta.ptrary -> amc.FPtrary
  346    ,amc_TableId_dmmeta_Rowid             = 84   // dmmeta.Rowid -> amc.FRowid
  347    ,amc_TableId_dmmeta_rowid             = 84   // dmmeta.rowid -> amc.FRowid
  348    ,amc_TableId_dmmeta_Smallstr          = 85   // dmmeta.Smallstr -> amc.FSmallstr
  349    ,amc_TableId_dmmeta_smallstr          = 85   // dmmeta.smallstr -> amc.FSmallstr
  350    ,amc_TableId_dmmeta_Sortfld           = 86   // dmmeta.Sortfld -> amc.FSortfld
  351    ,amc_TableId_dmmeta_sortfld           = 86   // dmmeta.sortfld -> amc.FSortfld
  352    ,amc_TableId_dmmeta_Ssimfile          = 87   // dmmeta.Ssimfile -> amc.FSsimfile
  353    ,amc_TableId_dmmeta_ssimfile          = 87   // dmmeta.ssimfile -> amc.FSsimfile
  354    ,amc_TableId_dmmeta_Ssimsort          = 88   // dmmeta.Ssimsort -> amc.FSsimsort
  355    ,amc_TableId_dmmeta_ssimsort          = 88   // dmmeta.ssimsort -> amc.FSsimsort
  356    ,amc_TableId_dmmeta_Ssimvolatile      = 89   // dmmeta.Ssimvolatile -> amc.FSsimvolatile
  357    ,amc_TableId_dmmeta_ssimvolatile      = 89   // dmmeta.ssimvolatile -> amc.FSsimvolatile
  358    ,amc_TableId_dmmeta_Substr            = 90   // dmmeta.Substr -> amc.FSubstr
  359    ,amc_TableId_dmmeta_substr            = 90   // dmmeta.substr -> amc.FSubstr
  360    ,amc_TableId_dev_Targdep              = 91   // dev.Targdep -> amc.FTargdep
  361    ,amc_TableId_dev_targdep              = 91   // dev.targdep -> amc.FTargdep
  362    ,amc_TableId_dev_Target               = 92   // dev.Target -> amc.FTarget
  363    ,amc_TableId_dev_target               = 92   // dev.target -> amc.FTarget
  364    ,amc_TableId_dmmeta_Tary              = 93   // dmmeta.Tary -> amc.FTary
  365    ,amc_TableId_dmmeta_tary              = 93   // dmmeta.tary -> amc.FTary
  366    ,amc_TableId_amcdb_Tcurs              = 94   // amcdb.Tcurs -> amc.FTcurs
  367    ,amc_TableId_amcdb_tcurs              = 94   // amcdb.tcurs -> amc.FTcurs
  368    ,amc_TableId_dmmeta_Thash             = 95   // dmmeta.Thash -> amc.FThash
  369    ,amc_TableId_dmmeta_thash             = 95   // dmmeta.thash -> amc.FThash
  370    ,amc_TableId_dmmeta_Typefld           = 96   // dmmeta.Typefld -> amc.FTypefld
  371    ,amc_TableId_dmmeta_typefld           = 96   // dmmeta.typefld -> amc.FTypefld
  372    ,amc_TableId_dmmeta_Usertracefld      = 97   // dmmeta.Usertracefld -> amc.FUsertracefld
  373    ,amc_TableId_dmmeta_usertracefld      = 97   // dmmeta.usertracefld -> amc.FUsertracefld
  374    ,amc_TableId_dmmeta_Xref              = 98   // dmmeta.Xref -> amc.FXref
  375    ,amc_TableId_dmmeta_xref              = 98   // dmmeta.xref -> amc.FXref
  376};
  377
  378enum { amc_TableIdEnum_N = 198 };
  379
  380namespace amc { // gen:ns_pkeytypedef
  381} // gen:ns_pkeytypedef
  382namespace amc { // gen:ns_tclass_field
  383struct lpool_Lpblock {
  384    lpool_Lpblock* next;
  385};
  386extern const char *amc_help;
  387} // gen:ns_tclass_field
  388// gen:ns_fwddecl2
  389namespace dmmeta { struct Anonfld; }
  390namespace dmmeta { struct Argvtype; }
  391namespace dmmeta { struct Basepool; }
  392namespace amc { struct FField; }
  393namespace dmmeta { struct Bitfld; }
  394namespace amcdb { struct Bltin; }
  395namespace dmmeta { struct Cafter; }
  396namespace amc { struct FCtype; }
  397namespace dmmeta { struct Cascdel; }
  398namespace dmmeta { struct Ccmp; }
  399namespace dmmeta { struct Cdflt; }
  400namespace dmmeta { struct Cextern; }
  401namespace dmmeta { struct Cfast; }
  402namespace dmmeta { struct Cfmt; }
  403namespace dmmeta { struct Cget; }
  404namespace dmmeta { struct Charset; }
  405namespace dmmeta { struct Chash; }
  406namespace dmmeta { struct Cppfunc; }
  407namespace dmmeta { struct Cpptype; }
  408namespace dmmeta { struct Csize; }
  409namespace dmmeta { struct Cstr; }
  410namespace dmmeta { struct Ctype; }
  411namespace amc { struct FNs; }
  412namespace dmmeta { struct Ctypelen; }
  413namespace dmmeta { struct Dispatch; }
  414namespace dmmeta { struct DispatchMsg; }
  415namespace amc { struct FDispatch; }
  416namespace dmmeta { struct Dispctx; }
  417namespace dmmeta { struct Dispfilter; }
  418namespace dmmeta { struct Dispsig; }
  419namespace dmmeta { struct Disptrace; }
  420namespace dmmeta { struct Falias; }
  421namespace dmmeta { struct Fbase; }
  422namespace dmmeta { struct Fbigend; }
  423namespace dmmeta { struct Fbitset; }
  424namespace dmmeta { struct Fbuf; }
  425namespace dmmeta { struct Fcast; }
  426namespace dmmeta { struct Fcleanup; }
  427namespace dmmeta { struct Fcmap; }
  428namespace dmmeta { struct Fcmdline; }
  429namespace dmmeta { struct Fcmp; }
  430namespace dmmeta { struct Fcompact; }
  431namespace dmmeta { struct Fconst; }
  432namespace dmmeta { struct Fcurs; }
  433namespace dmmeta { struct Fdec; }
  434namespace dmmeta { struct Fdelay; }
  435namespace dmmeta { struct Ffast; }
  436namespace dmmeta { struct Fflag; }
  437namespace dmmeta { struct Field; }
  438namespace amc { struct FReftype; }
  439namespace dmmeta { struct Findrem; }
  440namespace dmmeta { struct Finput; }
  441namespace dmmeta { struct Fldoffset; }
  442namespace dmmeta { struct Floadtuples; }
  443namespace dmmeta { struct Fnoremove; }
  444namespace dmmeta { struct Foutput; }
  445namespace dmmeta { struct Fprefix; }
  446namespace dmmeta { struct Fregx; }
  447namespace dmmeta { struct Fsort; }
  448namespace dmmeta { struct Fstep; }
  449namespace dmmeta { struct Ftrace; }
  450namespace dmmeta { struct Func; }
  451namespace dmmeta { struct Funique; }
  452namespace dmmeta { struct Fuserinit; }
  453namespace dmmeta { struct Fwddecl; }
  454namespace dmmeta { struct Gconst; }
  455namespace amcdb { struct Gen; }
  456namespace dmmeta { struct Gstatic; }
  457namespace dmmeta { struct Gsymbol; }
  458namespace amc { struct FSsimfile; }
  459namespace dmmeta { struct Hook; }
  460namespace dmmeta { struct Inlary; }
  461namespace dmmeta { struct Lenfld; }
  462namespace dev { struct License; }
  463namespace dmmeta { struct Listtype; }
  464namespace dmmeta { struct Llist; }
  465namespace amc { struct FListtype; }
  466namespace dmmeta { struct Main; }
  467namespace dmmeta { struct Msgtype; }
  468namespace dmmeta { struct Nocascdel; }
  469namespace dmmeta { struct Nossimfile; }
  470namespace dmmeta { struct Noxref; }
  471namespace dmmeta { struct Ns; }
  472namespace amc { struct FLicense; }
  473namespace dmmeta { struct Nscpp; }
  474namespace dmmeta { struct Nsdb; }
  475namespace dmmeta { struct Nsinclude; }
  476namespace dmmeta { struct Nsproto; }
  477namespace dmmeta { struct Nsx; }
  478namespace dmmeta { struct Numstr; }
  479namespace dmmeta { struct Pack; }
  480namespace dmmeta { struct Pmaskfld; }
  481namespace dmmeta { struct PmaskfldMember; }
  482namespace amc { struct FPmaskfld; }
  483namespace dmmeta { struct Pnew; }
  484namespace dmmeta { struct Ptrary; }
  485namespace dmmeta { struct Reftype; }
  486namespace amc { struct FTclass; }
  487namespace dmmeta { struct Rowid; }
  488namespace dmmeta { struct Smallstr; }
  489namespace dmmeta { struct Sortfld; }
  490namespace dmmeta { struct Ssimfile; }
  491namespace dmmeta { struct Ssimsort; }
  492namespace dmmeta { struct Ssimvolatile; }
  493namespace dmmeta { struct Substr; }
  494namespace dev { struct Targdep; }
  495namespace amc { struct FTarget; }
  496namespace dev { struct Target; }
  497namespace dmmeta { struct Tary; }
  498namespace amcdb { struct Tclass; }
  499namespace amcdb { struct Tcurs; }
  500namespace amcdb { struct Tfunc; }
  501namespace dmmeta { struct Thash; }
  502namespace dmmeta { struct Tracefld; }
  503namespace dmmeta { struct Tracerec; }
  504namespace dmmeta { struct Typefld; }
  505namespace dmmeta { struct Usertracefld; }
  506namespace dmmeta { struct Xref; }
  507namespace amc { struct FTfunc; }
  508namespace amc { struct FFunc; }
  509namespace amc { struct ctype_zs_cfmt_curs; }
  510namespace amc { struct ctype_c_field_curs; }
  511namespace amc { struct ctype_c_static_curs; }
  512namespace amc { struct ctype_c_parent_curs; }
  513namespace amc { struct ctype_c_pmaskfld_curs; }
  514namespace amc { struct ctype_c_datafld_curs; }
  515namespace amc { struct ctype_zd_inst_curs; }
  516namespace amc { struct ctype_zs_xref_curs; }
  517namespace amc { struct ctype_c_ffunc_curs; }
  518namespace amc { struct ctype_zd_cafter_curs; }
  519namespace amc { struct ctype_zd_access_curs; }
  520namespace amc { struct ctype_c_fcurs_curs; }
  521namespace amc { struct ctype_c_ffast_curs; }
  522namespace amc { struct tclass_c_tfunc_curs; }
  523namespace amc { struct _db_fsort_curs; }
  524namespace amc { struct _db_dispfilter_curs; }
  525namespace amc { struct _db_usertracefld_curs; }
  526namespace amc { struct _db_cfmt_curs; }
  527namespace amc { struct _db_dispatch_curs; }
  528namespace amc { struct _db_dispatch_msg_curs; }
  529namespace amc { struct _db_ctype_curs; }
  530namespace amc { struct _db_field_curs; }
  531namespace amc { struct _db_basepool_curs; }
  532namespace amc { struct _db_llist_curs; }
  533namespace amc { struct _db_anonfld_curs; }
  534namespace amc { struct _db_xref_curs; }
  535namespace amc { struct _db_ns_curs; }
  536namespace amc { struct _db_pnew_curs; }
  537namespace amc { struct _db_fldoffset_curs; }
  538namespace amc { struct _db_typefld_curs; }
  539namespace amc { struct _db_lenfld_curs; }
  540namespace amc { struct _db_bltin_curs; }
  541namespace amc { struct _db_static_tuple_curs; }
  542namespace amc { struct _db_msgtype_curs; }
  543namespace amc { struct _db_gconst_curs; }
  544namespace amc { struct _db_gstatic_curs; }
  545namespace amc { struct _db_thash_curs; }
  546namespace amc { struct _db_func_curs; }
  547namespace amc { struct _db_smallstr_curs; }
  548namespace amc { struct _db_numstr_curs; }
  549namespace amc { struct _db_main_curs; }
  550namespace amc { struct _db_reftype_curs; }
  551namespace amc { struct _db_cpptype_curs; }
  552namespace amc { struct _db_inlary_curs; }
  553namespace amc { struct _db_tary_curs; }
  554namespace amc { struct _db_cppfunc_curs; }
  555namespace amc { struct _db_rowid_curs; }
  556namespace amc { struct _db_cascdel_curs; }
  557namespace amc { struct _db_substr_curs; }
  558namespace amc { struct _db_bitfld_curs; }
  559namespace amc { struct _db_ssimfile_curs; }
  560namespace amc { struct _db_pack_curs; }
  561namespace amc { struct _db_ptrary_curs; }
  562namespace amc { struct _db_c_ctype_sorted_curs; }
  563namespace amc { struct _db_enumstr_curs; }
  564namespace amc { struct _db_enumstr_len_curs; }
  565namespace amc { struct _db_bh_enumstr_len_curs; }
  566namespace amc { struct _db_fbitset_curs; }
  567namespace amc { struct _db_fcleanup_curs; }
  568namespace amc { struct _db_fdec_curs; }
  569namespace amc { struct _db_fconst_curs; }
  570namespace amc { struct _db_c_ns_sorted_curs; }
  571namespace amc { struct _db_finput_curs; }
  572namespace amc { struct _db_foutput_curs; }
  573namespace amc { struct _db_fbuf_curs; }
  574namespace amc { struct _db_chash_curs; }
  575namespace amc { struct _db_ccmp_curs; }
  576namespace amc { struct _db_fbigend_curs; }
  577namespace amc { struct _db_zsl_ctype_pack_tran_curs; }
  578namespace amc { struct _db_cstr_curs; }
  579namespace amc { struct _db_listtype_curs; }
  580namespace amc { struct _db_fstep_curs; }
  581namespace amc { struct _db_cextern_curs; }
  582namespace amc { struct _db_fdelay_curs; }
  583namespace amc { struct _db_disptrace_curs; }
  584namespace amc { struct _db_tracefld_curs; }
  585namespace amc { struct _db_tracerec_curs; }
  586namespace amc { struct _db_dispsig_curs; }
  587namespace amc { struct _db_c_dispsig_sorted_curs; }
  588namespace amc { struct _db_zs_sig_visit_curs; }
  589namespace amc { struct _db_target_curs; }
  590namespace amc { struct _db_targdep_curs; }
  591namespace amc { struct _db_dispctx_curs; }
  592namespace amc { struct _db_pmaskfld_curs; }
  593namespace amc { struct _db_fwddecl_curs; }
  594namespace amc { struct _db_tfunc_curs; }
  595namespace amc { struct _db_gen_curs; }
  596namespace amc { struct _db_fregx_curs; }
  597namespace amc { struct _db_tclass_curs; }
  598namespace amc { struct _db_fcmp_curs; }
  599namespace amc { struct _db_fcast_curs; }
  600namespace amc { struct _db_noxref_curs; }
  601namespace amc { struct _db_nocascdel_curs; }
  602namespace amc { struct _db_cafter_curs; }
  603namespace amc { struct _db_csize_curs; }
  604namespace amc { struct _db_nsx_curs; }
  605namespace amc { struct _db_fcompact_curs; }
  606namespace amc { struct _db_findrem_curs; }
  607namespace amc { struct _db_fcurs_curs; }
  608namespace amc { struct _db_cdflt_curs; }
  609namespace amc { struct _db_argvtype_curs; }
  610namespace amc { struct _db_fcmdline_curs; }
  611namespace amc { struct _db_floadtuples_curs; }
  612namespace amc { struct _db_fcmap_curs; }
  613namespace amc { struct _db_zs_ordkeyfield_curs; }
  614namespace amc { struct _db_nsproto_curs; }
  615namespace amc { struct _db_nsdb_curs; }
  616namespace amc { struct _db_zd_substr_params_curs; }
  617namespace amc { struct _db_fprefix_curs; }
  618namespace amc { struct _db_ftrace_curs; }
  619namespace amc { struct _db_fnoremove_curs; }
  620namespace amc { struct _db_c_substr_field_curs; }
  621namespace amc { struct _db_ctypelen_curs; }
  622namespace amc { struct _db_c_ctypelen_curs; }
  623namespace amc { struct _db_c_tempfield_curs; }
  624namespace amc { struct _db_fbase_curs; }
  625namespace amc { struct _db_nossimfile_curs; }
  626namespace amc { struct _db_gsymbol_curs; }
  627namespace amc { struct _db_sortfld_curs; }
  628namespace amc { struct _db_cget_curs; }
  629namespace amc { struct _db_cd_temp_func_curs; }
  630namespace amc { struct _db_zs_gen_perns_curs; }
  631namespace amc { struct _db_hook_curs; }
  632namespace amc { struct _db_charset_curs; }
  633namespace amc { struct _db_nsinclude_curs; }
  634namespace amc { struct _db_ssimvolatile_curs; }
  635namespace amc { struct _db_funique_curs; }
  636namespace amc { struct _db_fuserinit_curs; }
  637namespace amc { struct _db_tcurs_curs; }
  638namespace amc { struct _db_nscpp_curs; }
  639namespace amc { struct _db_fflag_curs; }
  640namespace amc { struct _db_falias_curs; }
  641namespace amc { struct _db_license_curs; }
  642namespace amc { struct _db_c_ssimfile_sorted_curs; }
  643namespace amc { struct _db_zd_ssimfile_todo_curs; }
  644namespace amc { struct _db_cfast_curs; }
  645namespace amc { struct _db_ffast_curs; }
  646namespace amc { struct _db_pmaskfld_member_curs; }
  647namespace amc { struct _db_ssimsort_curs; }
  648namespace amc { struct dispatch_c_dispatch_msg_curs; }
  649namespace amc { struct enumstr_c_fconst_curs; }
  650namespace amc { struct enumstr_len_bh_enumstr_curs; }
  651namespace amc { struct field_c_ffunc_curs; }
  652namespace amc { struct field_c_fconst_curs; }
  653namespace amc { struct field_zd_xref_keyfld_curs; }
  654namespace amc { struct field_zs_fcmap_curs; }
  655namespace amc { struct field_bh_bitfld_curs; }
  656namespace amc { struct field_c_ffast_curs; }
  657namespace amc { struct field_c_pmaskfld_member_curs; }
  658namespace amc { struct func_funcarg_curs; }
  659namespace amc { struct FGenXref_seen_curs; }
  660namespace amc { struct ns_c_ctype_curs; }
  661namespace amc { struct ns_c_func_curs; }
  662namespace amc { struct ns_c_dispatch_curs; }
  663namespace amc { struct ns_c_gstatic_curs; }
  664namespace amc { struct ns_include_curs; }
  665namespace amc { struct ns_c_dispsig_curs; }
  666namespace amc { struct ns_c_parentns_curs; }
  667namespace amc { struct ns_c_cppincl_curs; }
  668namespace amc { struct ns_c_hdrincl_curs; }
  669namespace amc { struct ns_c_fwddecl_curs; }
  670namespace amc { struct ns_c_pnew_curs; }
  671namespace amc { struct ns_c_outfile_curs; }
  672namespace amc { struct ns_c_foutput_curs; }
  673namespace amc { struct ns_c_fstep_curs; }
  674namespace amc { struct ns_c_gsymbol_curs; }
  675namespace amc { struct ns_c_nsinclude_curs; }
  676namespace amc { struct pmaskfld_c_pmaskfld_member_curs; }
  677namespace amc { struct reftype_zs_fprefix_curs; }
  678namespace amc { struct target_c_targdep_curs; }
  679namespace amc { struct BltinId; }
  680namespace amc { struct CppkeywordId; }
  681namespace amc { struct Enumstr; }
  682namespace amc { struct FAnonfld; }
  683namespace amc { struct FArgvtype; }
  684namespace amc { struct FBasepool; }
  685namespace amc { struct FBitfld; }
  686namespace amc { struct FBltin; }
  687namespace amc { struct FCafter; }
  688namespace amc { struct FCascdel; }
  689namespace amc { struct FCcmp; }
  690namespace amc { struct FCdflt; }
  691namespace amc { struct FCextern; }
  692namespace amc { struct FCfast; }
  693namespace amc { struct FCfmt; }
  694namespace amc { struct FCget; }
  695namespace amc { struct FCharset; }
  696namespace amc { struct FChash; }
  697namespace amc { struct FCppfunc; }
  698namespace amc { struct FCpptype; }
  699namespace amc { struct FCsize; }
  700namespace amc { struct FCstr; }
  701namespace amc { struct FCtypelen; }
  702namespace amc { struct Genctx; }
  703namespace amc { struct trace; }
  704namespace amc { struct FDb; }
  705namespace amc { struct FDispatchmsg; }
  706namespace amc { struct FDispctx; }
  707namespace amc { struct FDispfilter; }
  708namespace amc { struct FDispsig; }
  709namespace amc { struct FDisptrace; }
  710namespace amc { struct FEnumstr; }
  711namespace amc { struct FEnumstrLen; }
  712namespace amc { struct FFalias; }
  713namespace amc { struct FFbase; }
  714namespace amc { struct FFbigend; }
  715namespace amc { struct FFbitset; }
  716namespace amc { struct FFbuf; }
  717namespace amc { struct FFcast; }
  718namespace amc { struct FFcleanup; }
  719namespace amc { struct FFcmap; }
  720namespace amc { struct FFcmdline; }
  721namespace amc { struct FFcmp; }
  722namespace amc { struct FFcompact; }
  723namespace amc { struct FFconst; }
  724namespace amc { struct FFcurs; }
  725namespace amc { struct FFdec; }
  726namespace amc { struct FFdelay; }
  727namespace amc { struct FFfast; }
  728namespace amc { struct FFflag; }
  729namespace amc { struct FFindrem; }
  730namespace amc { struct FFinput; }
  731namespace amc { struct FFldoffset; }
  732namespace amc { struct FFloadtuples; }
  733namespace amc { struct FFnoremove; }
  734namespace amc { struct FFoutput; }
  735namespace amc { struct FFprefix; }
  736namespace amc { struct FFregx; }
  737namespace amc { struct FFsort; }
  738namespace amc { struct FFstep; }
  739namespace amc { struct FFtrace; }
  740namespace amc { struct FFunique; }
  741namespace amc { struct FFuserinit; }
  742namespace amc { struct FFwddecl; }
  743namespace amc { struct FGconst; }
  744namespace amc { struct FGen; }
  745namespace amc { struct FGenXref; }
  746namespace amc { struct FGenXrefSeen; }
  747namespace amc { struct FGstatic; }
  748namespace amc { struct FGsymbol; }
  749namespace amc { struct FHook; }
  750namespace amc { struct FInlary; }
  751namespace amc { struct FLenfld; }
  752namespace amc { struct FLlist; }
  753namespace amc { struct FMain; }
  754namespace amc { struct FMsgtype; }
  755namespace amc { struct FNocascdel; }
  756namespace amc { struct FNossimfile; }
  757namespace amc { struct FNoxref; }
  758namespace amc { struct FNscpp; }
  759namespace amc { struct FNsdb; }
  760namespace amc { struct FNsinclude; }
  761namespace amc { struct FNsproto; }
  762namespace amc { struct FNsx; }
  763namespace amc { struct FNumstr; }
  764namespace amc { struct FOutfile; }
  765namespace amc { struct FPack; }
  766namespace amc { struct FPmaskfldMember; }
  767namespace amc { struct FPnew; }
  768namespace amc { struct FPtrary; }
  769namespace amc { struct FRowid; }
  770namespace amc { struct FSmallstr; }
  771namespace amc { struct FSortfld; }
  772namespace amc { struct FSsimsort; }
  773namespace amc { struct FSsimvolatile; }
  774namespace amc { struct FStatictuple; }
  775namespace amc { struct FSubstr; }
  776namespace amc { struct FTargdep; }
  777namespace amc { struct FTary; }
  778namespace amc { struct FTcurs; }
  779namespace amc { struct FThash; }
  780namespace amc { struct FTracefld; }
  781namespace amc { struct FTracerec; }
  782namespace amc { struct FTypefld; }
  783namespace amc { struct FUsertracefld; }
  784namespace amc { struct FXref; }
  785namespace amc { struct FieldId; }
  786namespace amc { struct Funcarg; }
  787namespace amc { struct Genpnew; }
  788namespace amc { struct Pnewtype; }
  789namespace amc { struct TableId; }
  790namespace amc { extern struct amc::FDb _db; }
  791namespace amc { // hook_fcn_typedef
  792    typedef void (*tclass_step_hook)(); // hook:amc.FTclass.step
  793    typedef void (*gen_step_hook)(); // hook:amc.FGen.step
  794    typedef void (*tfunc_step_hook)(); // hook:amc.FTfunc.step
  795} // hook_decl
  796namespace amc { // gen:ns_gsymbol
  797    extern const algo::strptr amcdb_regxtype_; // ""
  798    extern const algo::strptr amcdb_regxtype_Acr; // "Acr"
  799    extern const algo::strptr amcdb_regxtype_Shell; // "Shell"
  800    extern const algo::strptr amcdb_regxtype_Sql; // "Sql"
  801} // gen:ns_gsymbol
  802namespace amc { // gen:ns_gsymbol
  803    extern const algo::strptr dev_gitfile_conf_copyright_txt; // "conf/copyright.txt"
  804} // gen:ns_gsymbol
  805namespace amc { // gen:ns_print_struct
  806
  807// --- amc.BltinId
  808struct BltinId { // amc.BltinId
  809    u8   value;   //   0
  810    inline operator amc_BltinIdEnum() const;
  811    explicit BltinId(u8                             in_value);
  812    BltinId(amc_BltinIdEnum arg);
  813    BltinId();
  814};
  815
  816// Get value of field as enum type
  817// func:amc.BltinId.value.GetEnum
  818amc_BltinIdEnum      value_GetEnum(const amc::BltinId& parent) __attribute__((nothrow));
  819// Set value of field from enum type.
  820// func:amc.BltinId.value.SetEnum
  821void                 value_SetEnum(amc::BltinId& parent, amc_BltinIdEnum rhs) __attribute__((nothrow));
  822// Convert numeric value of field to one of predefined string constants.
  823// If string is found, return a static C string. Otherwise, return NULL.
  824// func:amc.BltinId.value.ToCstr
  825const char*          value_ToCstr(const amc::BltinId& parent) __attribute__((nothrow));
  826// Convert value to a string. First, attempt conversion to a known string.
  827// If no string matches, print value as a numeric value.
  828// func:amc.BltinId.value.Print
  829void                 value_Print(const amc::BltinId& parent, algo::cstring &lhs) __attribute__((nothrow));
  830// Convert string to field.
  831// If the string is invalid, do not modify field and return false.
  832// In case of success, return true
  833// func:amc.BltinId.value.SetStrptrMaybe
  834bool                 value_SetStrptrMaybe(amc::BltinId& parent, algo::strptr rhs) __attribute__((nothrow));
  835// Convert string to field.
  836// If the string is invalid, set numeric value to DFLT
  837// func:amc.BltinId.value.SetStrptr
  838void                 value_SetStrptr(amc::BltinId& parent, algo::strptr rhs, amc_BltinIdEnum dflt) __attribute__((nothrow));
  839// Convert string to field. Return success value
  840// func:amc.BltinId.value.ReadStrptrMaybe
  841bool                 value_ReadStrptrMaybe(amc::BltinId& parent, algo::strptr rhs) __attribute__((nothrow));
  842
  843// Read fields of amc::BltinId from an ascii string.
  844// The format of the string is the format of the amc::BltinId's only field
  845// func:amc.BltinId..ReadStrptrMaybe
  846bool                 BltinId_ReadStrptrMaybe(amc::BltinId &parent, algo::strptr in_str) __attribute__((nothrow));
  847// Set all fields to initial values.
  848// func:amc.BltinId..Init
  849void                 BltinId_Init(amc::BltinId& parent);
  850// print string representation of ROW to string STR
  851// cfmt:amc.BltinId.String  printfmt:Raw
  852// func:amc.BltinId..Print
  853void                 BltinId_Print(amc::BltinId row, algo::cstring& str) __attribute__((nothrow));
  854
  855// --- amc.CppkeywordId
  856struct CppkeywordId { // amc.CppkeywordId
  857    u32   id;   //   0
  858    CppkeywordId();
  859};
  860
  861// Get value of field as enum type
  862// func:amc.CppkeywordId.id.GetEnum
  863amc_CppkeywordIdEnum id_GetEnum(const amc::CppkeywordId& parent) __attribute__((nothrow));
  864// Set value of field from enum type.
  865// func:amc.CppkeywordId.id.SetEnum
  866void                 id_SetEnum(amc::CppkeywordId& parent, amc_CppkeywordIdEnum rhs) __attribute__((nothrow));
  867// Convert numeric value of field to one of predefined string constants.
  868// If string is found, return a static C string. Otherwise, return NULL.
  869// func:amc.CppkeywordId.id.ToCstr
  870const char*          id_ToCstr(const amc::CppkeywordId& parent) __attribute__((nothrow));
  871// Convert id to a string. First, attempt conversion to a known string.
  872// If no string matches, print id as a numeric value.
  873// func:amc.CppkeywordId.id.Print
  874void                 id_Print(const amc::CppkeywordId& parent, algo::cstring &lhs) __attribute__((nothrow));
  875// Convert string to field.
  876// If the string is invalid, do not modify field and return false.
  877// In case of success, return true
  878// func:amc.CppkeywordId.id.SetStrptrMaybe
  879bool                 id_SetStrptrMaybe(amc::CppkeywordId& parent, algo::strptr rhs) __attribute__((nothrow));
  880// Convert string to field.
  881// If the string is invalid, set numeric value to DFLT
  882// func:amc.CppkeywordId.id.SetStrptr
  883void                 id_SetStrptr(amc::CppkeywordId& parent, algo::strptr rhs, amc_CppkeywordIdEnum dflt) __attribute__((nothrow));
  884
  885// Set all fields to initial values.
  886// func:amc.CppkeywordId..Init
  887void                 CppkeywordId_Init(amc::CppkeywordId& parent);
  888
  889// --- amc.Enumstr
  890struct Enumstr { // amc.Enumstr: Key
  891    i32               len;   //   0
  892    algo::RnullStr8   str;   //
  893    explicit Enumstr(i32                            in_len
  894        ,const algo::strptr&            in_str);
  895    bool operator ==(const amc::Enumstr &rhs) const;
  896    bool operator !=(const amc::Enumstr &rhs) const;
  897    bool operator <(const amc::Enumstr &rhs) const;
  898    bool operator >(const amc::Enumstr &rhs) const;
  899    bool operator <=(const amc::Enumstr &rhs) const;
  900    bool operator >=(const amc::Enumstr &rhs) const;
  901    Enumstr();
  902};
  903
  904// Compare two fields. Comparison is anti-symmetric: if a>b, then !(b>a).
  905// func:amc.Enumstr.str.Lt
  906bool                 str_Lt(amc::Enumstr& parent, amc::Enumstr &rhs) __attribute__((nothrow));
  907// Compare two fields.
  908// func:amc.Enumstr.str.Cmp
  909i32                  str_Cmp(amc::Enumstr& parent, amc::Enumstr &rhs) __attribute__((nothrow));
  910
  911// func:amc.Enumstr..Hash
  912u32                  Enumstr_Hash(u32 prev, const amc::Enumstr & rhs) __attribute__((nothrow));
  913// func:amc.Enumstr..ReadFieldMaybe
  914bool                 Enumstr_ReadFieldMaybe(amc::Enumstr& parent, algo::strptr field, algo::strptr strval) __attribute__((nothrow));
  915// Read fields of amc::Enumstr from an ascii string.
  916// The format of the string is an ssim Tuple
  917// func:amc.Enumstr..ReadStrptrMaybe
  918bool                 Enumstr_ReadStrptrMaybe(amc::Enumstr &parent, algo::strptr in_str) __attribute__((nothrow));
  919// func:amc.Enumstr..Lt
  920bool                 Enumstr_Lt(amc::Enumstr& lhs, amc::Enumstr& rhs) __attribute__((nothrow));
  921// func:amc.Enumstr..Cmp
  922i32                  Enumstr_Cmp(amc::Enumstr& lhs, amc::Enumstr& rhs) __attribute__((nothrow));
  923// Set all fields to initial values.
  924// func:amc.Enumstr..Init
  925void                 Enumstr_Init(amc::Enumstr& parent);
  926// func:amc.Enumstr..Eq
  927bool                 Enumstr_Eq(amc::Enumstr& lhs, amc::Enumstr& rhs) __attribute__((nothrow));
  928// Set value. Return true if new value is different from old value.
  929// func:amc.Enumstr..Update
  930bool                 Enumstr_Update(amc::Enumstr &lhs, amc::Enumstr& rhs) __attribute__((nothrow));
  931// print string representation of ROW to string STR
  932// cfmt:amc.Enumstr.String  printfmt:Tuple
  933// func:amc.Enumstr..Print
  934void                 Enumstr_Print(amc::Enumstr& row, algo::cstring& str) __attribute__((nothrow));
  935
  936// --- amc.FAnonfld
  937// create: amc.FDb.anonfld (Lary)
  938// access: amc.FField.c_anonfld (Ptr)
  939struct FAnonfld { // amc.FAnonfld
  940    algo::Smallstr100   field;      //
  941    i32                 anon_idx;   //   0  Index of anonymous field (if any)
  942private:
  943    friend amc::FAnonfld&       anonfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
  944    friend amc::FAnonfld*       anonfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
  945    friend void                 anonfld_RemoveLast() __attribute__((nothrow));
  946    FAnonfld();
  947    ~FAnonfld();
  948    FAnonfld(const FAnonfld&){ /*disallow copy constructor */}
  949    void operator =(const FAnonfld&){ /*disallow direct assignment */}
  950};
  951
  952// Copy fields out of row
  953// func:amc.FAnonfld.msghdr.CopyOut
  954void                 anonfld_CopyOut(amc::FAnonfld &row, dmmeta::Anonfld &out) __attribute__((nothrow));
  955// Copy fields in to row
  956// func:amc.FAnonfld.msghdr.CopyIn
  957void                 anonfld_CopyIn(amc::FAnonfld &row, dmmeta::Anonfld &in) __attribute__((nothrow));
  958
  959// Set all fields to initial values.
  960// func:amc.FAnonfld..Init
  961void                 FAnonfld_Init(amc::FAnonfld& anonfld);
  962// func:amc.FAnonfld..Uninit
  963void                 FAnonfld_Uninit(amc::FAnonfld& anonfld) __attribute__((nothrow));
  964
  965// --- amc.FArgvtype
  966// create: amc.FDb.argvtype (Lary)
  967// access: amc.FCtype.c_argvtype (Ptr)
  968struct FArgvtype { // amc.FArgvtype
  969    algo::Smallstr100   ctype;      //
  970    algo::Smallstr50    argvtype;   //
  971    algo::Comment       comment;    //
  972private:
  973    friend amc::FArgvtype&      argvtype_Alloc() __attribute__((__warn_unused_result__, nothrow));
  974    friend amc::FArgvtype*      argvtype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
  975    friend void                 argvtype_RemoveLast() __attribute__((nothrow));
  976    FArgvtype();
  977    ~FArgvtype();
  978    FArgvtype(const FArgvtype&){ /*disallow copy constructor */}
  979    void operator =(const FArgvtype&){ /*disallow direct assignment */}
  980};
  981
  982// Copy fields out of row
  983// func:amc.FArgvtype.base.CopyOut
  984void                 argvtype_CopyOut(amc::FArgvtype &row, dmmeta::Argvtype &out) __attribute__((nothrow));
  985// Copy fields in to row
  986// func:amc.FArgvtype.base.CopyIn
  987void                 argvtype_CopyIn(amc::FArgvtype &row, dmmeta::Argvtype &in) __attribute__((nothrow));
  988
  989// func:amc.FArgvtype..Uninit
  990void                 FArgvtype_Uninit(amc::FArgvtype& argvtype) __attribute__((nothrow));
  991
  992// --- amc.FBasepool
  993// create: amc.FDb.basepool (Lary)
  994// access: amc.FField.c_basepool (Ptr)
  995struct FBasepool { // amc.FBasepool
  996    algo::Smallstr100   field;     //
  997    algo::Smallstr100   base;      //
  998    amc::FField*        p_field;   // reference to parent row
  999    amc::FField*        p_base;    // reference to parent row
 1000private:
 1001    friend amc::FBasepool&      basepool_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1002    friend amc::FBasepool*      basepool_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1003    friend void                 basepool_RemoveLast() __attribute__((nothrow));
 1004    FBasepool();
 1005    ~FBasepool();
 1006    FBasepool(const FBasepool&){ /*disallow copy constructor */}
 1007    void operator =(const FBasepool&){ /*disallow direct assignment */}
 1008};
 1009
 1010// Copy fields out of row
 1011// func:amc.FBasepool.msghdr.CopyOut
 1012void                 basepool_CopyOut(amc::FBasepool &row, dmmeta::Basepool &out) __attribute__((nothrow));
 1013// Copy fields in to row
 1014// func:amc.FBasepool.msghdr.CopyIn
 1015void                 basepool_CopyIn(amc::FBasepool &row, dmmeta::Basepool &in) __attribute__((nothrow));
 1016
 1017// Set all fields to initial values.
 1018// func:amc.FBasepool..Init
 1019void                 FBasepool_Init(amc::FBasepool& basepool);
 1020// func:amc.FBasepool..Uninit
 1021void                 FBasepool_Uninit(amc::FBasepool& basepool) __attribute__((nothrow));
 1022
 1023// --- amc.FBitfld
 1024// create: amc.FDb.bitfld (Lary)
 1025// access: amc.FField.c_bitfld (Ptr)
 1026// access: amc.FField.bh_bitfld (Bheap)
 1027struct FBitfld { // amc.FBitfld
 1028    algo::Smallstr100   field;           //
 1029    i32                 offset;          //   0  Offset, in bits, within parent field
 1030    i32                 width;           //   0  Width, in bits, within parent field.
 1031    algo::Smallstr100   srcfield;        //
 1032    amc::FField*        p_srcfield;      // reference to parent row
 1033    amc::FField*        p_field;         // reference to parent row
 1034    i32                 bh_bitfld_idx;   // index in heap; -1 means not-in-heap
 1035private:
 1036    friend amc::FBitfld&        bitfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1037    friend amc::FBitfld*        bitfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1038    friend void                 bitfld_RemoveLast() __attribute__((nothrow));
 1039    FBitfld();
 1040    ~FBitfld();
 1041    FBitfld(const FBitfld&){ /*disallow copy constructor */}
 1042    void operator =(const FBitfld&){ /*disallow direct assignment */}
 1043};
 1044
 1045// Copy fields out of row
 1046// func:amc.FBitfld.msghdr.CopyOut
 1047void                 bitfld_CopyOut(amc::FBitfld &row, dmmeta::Bitfld &out) __attribute__((nothrow));
 1048// Copy fields in to row
 1049// func:amc.FBitfld.msghdr.CopyIn
 1050void                 bitfld_CopyIn(amc::FBitfld &row, dmmeta::Bitfld &in) __attribute__((nothrow));
 1051
 1052// func:amc.FBitfld.name.Get
 1053algo::Smallstr50     name_Get(amc::FBitfld& bitfld) __attribute__((__warn_unused_result__, nothrow));
 1054
 1055// Set all fields to initial values.
 1056// func:amc.FBitfld..Init
 1057void                 FBitfld_Init(amc::FBitfld& bitfld);
 1058// func:amc.FBitfld..Uninit
 1059void                 FBitfld_Uninit(amc::FBitfld& bitfld) __attribute__((nothrow));
 1060
 1061// --- amc.FBltin
 1062// create: amc.FDb.bltin (Lary)
 1063// global access: ind_bltin (Thash)
 1064// access: amc.FCtype.c_bltin (Ptr)
 1065struct FBltin { // amc.FBltin
 1066    algo::Smallstr100   ctype;            //
 1067    bool                likeu64;          //   false
 1068    bool                bigendok;         //   false
 1069    bool                issigned;         //   false
 1070    amc::FBltin*        ind_bltin_next;   // hash next
 1071private:
 1072    friend amc::FBltin&         bltin_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1073    friend amc::FBltin*         bltin_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1074    friend void                 bltin_RemoveLast() __attribute__((nothrow));
 1075    FBltin();
 1076    ~FBltin();
 1077    FBltin(const FBltin&){ /*disallow copy constructor */}
 1078    void operator =(const FBltin&){ /*disallow direct assignment */}
 1079};
 1080
 1081// Copy fields out of row
 1082// func:amc.FBltin.msghdr.CopyOut
 1083void                 bltin_CopyOut(amc::FBltin &row, amcdb::Bltin &out) __attribute__((nothrow));
 1084// Copy fields in to row
 1085// func:amc.FBltin.msghdr.CopyIn
 1086void                 bltin_CopyIn(amc::FBltin &row, amcdb::Bltin &in) __attribute__((nothrow));
 1087
 1088// Set all fields to initial values.
 1089// func:amc.FBltin..Init
 1090void                 FBltin_Init(amc::FBltin& bltin);
 1091// func:amc.FBltin..Uninit
 1092void                 FBltin_Uninit(amc::FBltin& bltin) __attribute__((nothrow));
 1093
 1094// --- amc.FCafter
 1095// create: amc.FDb.cafter (Lary)
 1096// access: amc.FCtype.zd_cafter (Llist)
 1097struct FCafter { // amc.FCafter
 1098    algo::Smallstr50   cafter;           //
 1099    amc::FCtype*       p_after;          // reference to parent row
 1100    amc::FCafter*      zd_cafter_next;   // zslist link; -1 means not-in-list
 1101    amc::FCafter*      zd_cafter_prev;   // previous element
 1102private:
 1103    friend amc::FCafter&        cafter_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1104    friend amc::FCafter*        cafter_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1105    friend void                 cafter_RemoveLast() __attribute__((nothrow));
 1106    FCafter();
 1107    ~FCafter();
 1108    FCafter(const FCafter&){ /*disallow copy constructor */}
 1109    void operator =(const FCafter&){ /*disallow direct assignment */}
 1110};
 1111
 1112// Copy fields out of row
 1113// func:amc.FCafter.msghdr.CopyOut
 1114void                 cafter_CopyOut(amc::FCafter &row, dmmeta::Cafter &out) __attribute__((nothrow));
 1115// Copy fields in to row
 1116// func:amc.FCafter.msghdr.CopyIn
 1117void                 cafter_CopyIn(amc::FCafter &row, dmmeta::Cafter &in) __attribute__((nothrow));
 1118
 1119// func:amc.FCafter.ctype.Get
 1120algo::Smallstr100    ctype_Get(amc::FCafter& cafter) __attribute__((__warn_unused_result__, nothrow));
 1121
 1122// func:amc.FCafter.after.Get
 1123algo::Smallstr100    after_Get(amc::FCafter& cafter) __attribute__((__warn_unused_result__, nothrow));
 1124
 1125// Set all fields to initial values.
 1126// func:amc.FCafter..Init
 1127void                 FCafter_Init(amc::FCafter& cafter);
 1128// func:amc.FCafter..Uninit
 1129void                 FCafter_Uninit(amc::FCafter& cafter) __attribute__((nothrow));
 1130
 1131// --- amc.FCascdel
 1132// create: amc.FDb.cascdel (Lary)
 1133// access: amc.FField.c_cascdel (Ptr)
 1134struct FCascdel { // amc.FCascdel
 1135    algo::Smallstr100   field;     //
 1136    amc::FField*        p_field;   // reference to parent row
 1137private:
 1138    friend amc::FCascdel&       cascdel_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1139    friend amc::FCascdel*       cascdel_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1140    friend void                 cascdel_RemoveLast() __attribute__((nothrow));
 1141    FCascdel();
 1142    ~FCascdel();
 1143    FCascdel(const FCascdel&){ /*disallow copy constructor */}
 1144    void operator =(const FCascdel&){ /*disallow direct assignment */}
 1145};
 1146
 1147// Copy fields out of row
 1148// func:amc.FCascdel.msghdr.CopyOut
 1149void                 cascdel_CopyOut(amc::FCascdel &row, dmmeta::Cascdel &out) __attribute__((nothrow));
 1150// Copy fields in to row
 1151// func:amc.FCascdel.msghdr.CopyIn
 1152void                 cascdel_CopyIn(amc::FCascdel &row, dmmeta::Cascdel &in) __attribute__((nothrow));
 1153
 1154// Set all fields to initial values.
 1155// func:amc.FCascdel..Init
 1156void                 FCascdel_Init(amc::FCascdel& cascdel);
 1157// func:amc.FCascdel..Uninit
 1158void                 FCascdel_Uninit(amc::FCascdel& cascdel) __attribute__((nothrow));
 1159
 1160// --- amc.FCcmp
 1161// create: amc.FDb.ccmp (Lary)
 1162// global access: ind_ccmp (Thash)
 1163// access: amc.FCtype.c_ccmp (Ptr)
 1164struct FCcmp { // amc.FCcmp
 1165    algo::Smallstr100   ctype;           // Target ctype
 1166    bool                extrn;           //   false  Whether implementation is external
 1167    bool                genop;           //   false  Generate C++ comparison operators (<,>, etc)
 1168    bool                order;           //   false
 1169    bool                minmax;          //   false
 1170    amc::FCcmp*         ind_ccmp_next;   // hash next
 1171private:
 1172    friend amc::FCcmp&          ccmp_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1173    friend amc::FCcmp*          ccmp_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1174    friend void                 ccmp_RemoveLast() __attribute__((nothrow));
 1175    FCcmp();
 1176    ~FCcmp();
 1177    FCcmp(const FCcmp&){ /*disallow copy constructor */}
 1178    void operator =(const FCcmp&){ /*disallow direct assignment */}
 1179};
 1180
 1181// Copy fields out of row
 1182// func:amc.FCcmp.msghdr.CopyOut
 1183void                 ccmp_CopyOut(amc::FCcmp &row, dmmeta::Ccmp &out) __attribute__((nothrow));
 1184// Copy fields in to row
 1185// func:amc.FCcmp.msghdr.CopyIn
 1186void                 ccmp_CopyIn(amc::FCcmp &row, dmmeta::Ccmp &in) __attribute__((nothrow));
 1187
 1188// Set all fields to initial values.
 1189// func:amc.FCcmp..Init
 1190void                 FCcmp_Init(amc::FCcmp& ccmp);
 1191// func:amc.FCcmp..Uninit
 1192void                 FCcmp_Uninit(amc::FCcmp& ccmp) __attribute__((nothrow));
 1193
 1194// --- amc.FCdflt
 1195// create: amc.FDb.cdflt (Lary)
 1196// access: amc.FCtype.c_cdflt (Ptr)
 1197struct FCdflt { // amc.FCdflt
 1198    algo::Smallstr100   ctype;      //
 1199    algo::CppExpr       dflt;       //
 1200    algo::CppExpr       cppdflt;    //
 1201    algo::Smallstr50    ssimdflt;   //
 1202    algo::Smallstr50    jsdflt;     //
 1203    algo::Comment       comment;    //
 1204private:
 1205    friend amc::FCdflt&         cdflt_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1206    friend amc::FCdflt*         cdflt_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1207    friend void                 cdflt_RemoveLast() __attribute__((nothrow));
 1208    FCdflt();
 1209    ~FCdflt();
 1210    FCdflt(const FCdflt&){ /*disallow copy constructor */}
 1211    void operator =(const FCdflt&){ /*disallow direct assignment */}
 1212};
 1213
 1214// Copy fields out of row
 1215// func:amc.FCdflt.base.CopyOut
 1216void                 cdflt_CopyOut(amc::FCdflt &row, dmmeta::Cdflt &out) __attribute__((nothrow));
 1217// Copy fields in to row
 1218// func:amc.FCdflt.base.CopyIn
 1219void                 cdflt_CopyIn(amc::FCdflt &row, dmmeta::Cdflt &in) __attribute__((nothrow));
 1220
 1221// func:amc.FCdflt..Uninit
 1222void                 FCdflt_Uninit(amc::FCdflt& cdflt) __attribute__((nothrow));
 1223
 1224// --- amc.FCextern
 1225// create: amc.FDb.cextern (Lary)
 1226// access: amc.FCtype.c_cextern (Ptr)
 1227struct FCextern { // amc.FCextern
 1228    algo::Smallstr100   ctype;        // Ctype in question
 1229    bool                initmemset;   //   false  Initialize using memset? (set this to Y for all C structs)
 1230    bool                isstruct;     //   false
 1231    bool                plaindata;    //   false
 1232private:
 1233    friend amc::FCextern&       cextern_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1234    friend amc::FCextern*       cextern_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1235    friend void                 cextern_RemoveLast() __attribute__((nothrow));
 1236    FCextern();
 1237    ~FCextern();
 1238    FCextern(const FCextern&){ /*disallow copy constructor */}
 1239    void operator =(const FCextern&){ /*disallow direct assignment */}
 1240};
 1241
 1242// Copy fields out of row
 1243// func:amc.FCextern.msghdr.CopyOut
 1244void                 cextern_CopyOut(amc::FCextern &row, dmmeta::Cextern &out) __attribute__((nothrow));
 1245// Copy fields in to row
 1246// func:amc.FCextern.msghdr.CopyIn
 1247void                 cextern_CopyIn(amc::FCextern &row, dmmeta::Cextern &in) __attribute__((nothrow));
 1248
 1249// Set all fields to initial values.
 1250// func:amc.FCextern..Init
 1251void                 FCextern_Init(amc::FCextern& cextern);
 1252// func:amc.FCextern..Uninit
 1253void                 FCextern_Uninit(amc::FCextern& cextern) __attribute__((nothrow));
 1254
 1255// --- amc.FCfast
 1256// create: amc.FDb.cfast (Lary)
 1257// access: amc.FCtype.c_cfast (Ptr)
 1258struct FCfast { // amc.FCfast
 1259    algo::Smallstr100   ctype;      //
 1260    u32                 id;         //   0
 1261    algo::Smallstr50    encoding;   //
 1262    bool                reset;      //   false
 1263    algo::Comment       comment;    //
 1264private:
 1265    friend amc::FCfast&         cfast_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1266    friend amc::FCfast*         cfast_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1267    friend void                 cfast_RemoveAll() __attribute__((nothrow));
 1268    friend void                 cfast_RemoveLast() __attribute__((nothrow));
 1269    FCfast();
 1270    ~FCfast();
 1271    FCfast(const FCfast&){ /*disallow copy constructor */}
 1272    void operator =(const FCfast&){ /*disallow direct assignment */}
 1273};
 1274
 1275// Copy fields out of row
 1276// func:amc.FCfast.base.CopyOut
 1277void                 cfast_CopyOut(amc::FCfast &row, dmmeta::Cfast &out) __attribute__((nothrow));
 1278// Copy fields in to row
 1279// func:amc.FCfast.base.CopyIn
 1280void                 cfast_CopyIn(amc::FCfast &row, dmmeta::Cfast &in) __attribute__((nothrow));
 1281
 1282// Set all fields to initial values.
 1283// func:amc.FCfast..Init
 1284void                 FCfast_Init(amc::FCfast& cfast);
 1285// func:amc.FCfast..Uninit
 1286void                 FCfast_Uninit(amc::FCfast& cfast) __attribute__((nothrow));
 1287
 1288// --- amc.FCfmt
 1289// create: amc.FDb.cfmt (Lary)
 1290// global access: ind_cfmt (Thash)
 1291// access: amc.FCtype.zs_cfmt (Llist)
 1292struct FCfmt { // amc.FCfmt
 1293    algo::Smallstr100   cfmt;            //
 1294    algo::Smallstr50    printfmt;        //
 1295    bool                read;            //   false
 1296    bool                print;           //   false
 1297    algo::Smallstr20    sep;             //
 1298    bool                genop;           //   false
 1299    amc::FCfmt*         zs_cfmt_next;    // zslist link; -1 means not-in-list
 1300    amc::FCfmt*         ind_cfmt_next;   // hash next
 1301private:
 1302    friend amc::FCfmt&          cfmt_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1303    friend amc::FCfmt*          cfmt_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1304    friend void                 cfmt_RemoveLast() __attribute__((nothrow));
 1305    FCfmt();
 1306    ~FCfmt();
 1307    FCfmt(const FCfmt&){ /*disallow copy constructor */}
 1308    void operator =(const FCfmt&){ /*disallow direct assignment */}
 1309};
 1310
 1311// Copy fields out of row
 1312// func:amc.FCfmt.msghdr.CopyOut
 1313void                 cfmt_CopyOut(amc::FCfmt &row, dmmeta::Cfmt &out) __attribute__((nothrow));
 1314// Copy fields in to row
 1315// func:amc.FCfmt.msghdr.CopyIn
 1316void                 cfmt_CopyIn(amc::FCfmt &row, dmmeta::Cfmt &in) __attribute__((nothrow));
 1317
 1318// func:amc.FCfmt.ctype.Get
 1319algo::Smallstr100    ctype_Get(amc::FCfmt& cfmt) __attribute__((__warn_unused_result__, nothrow));
 1320
 1321// func:amc.FCfmt.strfmt.Get
 1322algo::Smallstr50     strfmt_Get(amc::FCfmt& cfmt) __attribute__((__warn_unused_result__, nothrow));
 1323
 1324// Set all fields to initial values.
 1325// func:amc.FCfmt..Init
 1326void                 FCfmt_Init(amc::FCfmt& cfmt);
 1327// func:amc.FCfmt..Uninit
 1328void                 FCfmt_Uninit(amc::FCfmt& cfmt) __attribute__((nothrow));
 1329
 1330// --- amc.FCget
 1331// create: amc.FDb.cget (Lary)
 1332struct FCget { // amc.FCget
 1333    algo::Smallstr100   ctype;     //
 1334    algo::Comment       comment;   //
 1335    amc::FCtype*        p_ctype;   // reference to parent row
 1336private:
 1337    friend amc::FCget&          cget_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1338    friend amc::FCget*          cget_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1339    friend void                 cget_RemoveLast() __attribute__((nothrow));
 1340    FCget();
 1341    // x-reference on amc.FCget.p_ctype prevents copy
 1342    FCget(const FCget&){ /*disallow copy constructor */}
 1343    void operator =(const FCget&){ /*disallow direct assignment */}
 1344};
 1345
 1346// Copy fields out of row
 1347// func:amc.FCget.base.CopyOut
 1348void                 cget_CopyOut(amc::FCget &row, dmmeta::Cget &out) __attribute__((nothrow));
 1349// Copy fields in to row
 1350// func:amc.FCget.base.CopyIn
 1351void                 cget_CopyIn(amc::FCget &row, dmmeta::Cget &in) __attribute__((nothrow));
 1352
 1353// Set all fields to initial values.
 1354// func:amc.FCget..Init
 1355void                 FCget_Init(amc::FCget& cget);
 1356
 1357// --- amc.FCharset
 1358// create: amc.FDb.charset (Lary)
 1359// access: amc.FField.c_charset (Ptr)
 1360struct FCharset { // amc.FCharset
 1361    algo::Smallstr100   field;       //
 1362    algo::Smallstr100   expr;        //
 1363    bool                charrange;   //   false
 1364    bool                calc;        //   false
 1365    algo::Comment       comment;     //
 1366    algo::Charset       chars;       //
 1367private:
 1368    friend amc::FCharset&       charset_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1369    friend amc::FCharset*       charset_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1370    friend void                 charset_RemoveAll() __attribute__((nothrow));
 1371    friend void                 charset_RemoveLast() __attribute__((nothrow));
 1372    FCharset();
 1373    ~FCharset();
 1374    FCharset(const FCharset&){ /*disallow copy constructor */}
 1375    void operator =(const FCharset&){ /*disallow direct assignment */}
 1376};
 1377
 1378// Copy fields out of row
 1379// func:amc.FCharset.base.CopyOut
 1380void                 charset_CopyOut(amc::FCharset &row, dmmeta::Charset &out) __attribute__((nothrow));
 1381// Copy fields in to row
 1382// func:amc.FCharset.base.CopyIn
 1383void                 charset_CopyIn(amc::FCharset &row, dmmeta::Charset &in) __attribute__((nothrow));
 1384
 1385// Set all fields to initial values.
 1386// func:amc.FCharset..Init
 1387void                 FCharset_Init(amc::FCharset& charset);
 1388// func:amc.FCharset..Uninit
 1389void                 FCharset_Uninit(amc::FCharset& charset) __attribute__((nothrow));
 1390
 1391// --- amc.FChash
 1392// create: amc.FDb.chash (Lary)
 1393// global access: ind_chash (Thash)
 1394// access: amc.FCtype.c_chash (Ptr)
 1395struct FChash { // amc.FChash
 1396    algo::Smallstr100   ctype;            // Target ctype
 1397    algo::Smallstr50    hashtype;         // Hash type
 1398    amc::FChash*        ind_chash_next;   // hash next
 1399private:
 1400    friend amc::FChash&         chash_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1401    friend amc::FChash*         chash_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1402    friend void                 chash_RemoveLast() __attribute__((nothrow));
 1403    FChash();
 1404    ~FChash();
 1405    FChash(const FChash&){ /*disallow copy constructor */}
 1406    void operator =(const FChash&){ /*disallow direct assignment */}
 1407};
 1408
 1409// Copy fields out of row
 1410// func:amc.FChash.msghdr.CopyOut
 1411void                 chash_CopyOut(amc::FChash &row, dmmeta::Chash &out) __attribute__((nothrow));
 1412// Copy fields in to row
 1413// func:amc.FChash.msghdr.CopyIn
 1414void                 chash_CopyIn(amc::FChash &row, dmmeta::Chash &in) __attribute__((nothrow));
 1415
 1416// Set all fields to initial values.
 1417// func:amc.FChash..Init
 1418void                 FChash_Init(amc::FChash& chash);
 1419// func:amc.FChash..Uninit
 1420void                 FChash_Uninit(amc::FChash& chash) __attribute__((nothrow));
 1421
 1422// --- amc.FCppfunc
 1423// create: amc.FDb.cppfunc (Lary)
 1424// access: amc.FField.c_cppfunc (Ptr)
 1425struct FCppfunc { // amc.FCppfunc
 1426    algo::Smallstr100   field;   //
 1427    algo::CppExpr       expr;    //
 1428    bool                print;   //   false
 1429    bool                set;     //   false
 1430private:
 1431    friend amc::FCppfunc&       cppfunc_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1432    friend amc::FCppfunc*       cppfunc_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1433    friend void                 cppfunc_RemoveLast() __attribute__((nothrow));
 1434    FCppfunc();
 1435    ~FCppfunc();
 1436    FCppfunc(const FCppfunc&){ /*disallow copy constructor */}
 1437    void operator =(const FCppfunc&){ /*disallow direct assignment */}
 1438};
 1439
 1440// Copy fields out of row
 1441// func:amc.FCppfunc.msghdr.CopyOut
 1442void                 cppfunc_CopyOut(amc::FCppfunc &row, dmmeta::Cppfunc &out) __attribute__((nothrow));
 1443// Copy fields in to row
 1444// func:amc.FCppfunc.msghdr.CopyIn
 1445void                 cppfunc_CopyIn(amc::FCppfunc &row, dmmeta::Cppfunc &in) __attribute__((nothrow));
 1446
 1447// Set all fields to initial values.
 1448// func:amc.FCppfunc..Init
 1449void                 FCppfunc_Init(amc::FCppfunc& cppfunc);
 1450// func:amc.FCppfunc..Uninit
 1451void                 FCppfunc_Uninit(amc::FCppfunc& cppfunc) __attribute__((nothrow));
 1452
 1453// --- amc.FCpptype
 1454// create: amc.FDb.cpptype (Lary)
 1455// global access: ind_cpptype (Thash)
 1456// access: amc.FCtype.c_cpptype (Ptr)
 1457struct FCpptype { // amc.FCpptype
 1458    algo::Smallstr100   ctype;              //
 1459    bool                ctor;               //   false  if true, generate non-default constructor from all fields
 1460    bool                dtor;               //   true  generate non-default destructor
 1461    bool                cheap_copy;         //   false  Pass by value whenever possible
 1462    amc::FCtype*        p_ctype;            // reference to parent row
 1463    amc::FCpptype*      ind_cpptype_next;   // hash next
 1464private:
 1465    friend amc::FCpptype&       cpptype_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1466    friend amc::FCpptype*       cpptype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1467    friend void                 cpptype_RemoveLast() __attribute__((nothrow));
 1468    FCpptype();
 1469    ~FCpptype();
 1470    FCpptype(const FCpptype&){ /*disallow copy constructor */}
 1471    void operator =(const FCpptype&){ /*disallow direct assignment */}
 1472};
 1473
 1474// Copy fields out of row
 1475// func:amc.FCpptype.msghdr.CopyOut
 1476void                 cpptype_CopyOut(amc::FCpptype &row, dmmeta::Cpptype &out) __attribute__((nothrow));
 1477// Copy fields in to row
 1478// func:amc.FCpptype.msghdr.CopyIn
 1479void                 cpptype_CopyIn(amc::FCpptype &row, dmmeta::Cpptype &in) __attribute__((nothrow));
 1480
 1481// Set all fields to initial values.
 1482// func:amc.FCpptype..Init
 1483void                 FCpptype_Init(amc::FCpptype& cpptype);
 1484// func:amc.FCpptype..Uninit
 1485void                 FCpptype_Uninit(amc::FCpptype& cpptype) __attribute__((nothrow));
 1486
 1487// --- amc.FCsize
 1488// create: amc.FDb.csize (Lary)
 1489// access: amc.FCtype.c_csize (Ptr)
 1490struct FCsize { // amc.FCsize
 1491    algo::Smallstr100   ctype;       //
 1492    u32                 size;        //   0
 1493    u32                 alignment;   //   1
 1494private:
 1495    friend amc::FCsize&         csize_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1496    friend amc::FCsize*         csize_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1497    friend void                 csize_RemoveLast() __attribute__((nothrow));
 1498    FCsize();
 1499    ~FCsize();
 1500    FCsize(const FCsize&){ /*disallow copy constructor */}
 1501    void operator =(const FCsize&){ /*disallow direct assignment */}
 1502};
 1503
 1504// Copy fields out of row
 1505// func:amc.FCsize.msghdr.CopyOut
 1506void                 csize_CopyOut(amc::FCsize &row, dmmeta::Csize &out) __attribute__((nothrow));
 1507// Copy fields in to row
 1508// func:amc.FCsize.msghdr.CopyIn
 1509void                 csize_CopyIn(amc::FCsize &row, dmmeta::Csize &in) __attribute__((nothrow));
 1510
 1511// Set all fields to initial values.
 1512// func:amc.FCsize..Init
 1513void                 FCsize_Init(amc::FCsize& csize);
 1514// func:amc.FCsize..Uninit
 1515void                 FCsize_Uninit(amc::FCsize& csize) __attribute__((nothrow));
 1516
 1517// --- amc.FCstr
 1518// create: amc.FDb.cstr (Lary)
 1519// access: amc.FCtype.c_cstr (Ptr)
 1520struct FCstr { // amc.FCstr
 1521    algo::Smallstr100   ctype;      //
 1522    bool                strequiv;   //   false  Use strptr instead of this type when possible
 1523private:
 1524    friend amc::FCstr&          cstr_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1525    friend amc::FCstr*          cstr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1526    friend void                 cstr_RemoveLast() __attribute__((nothrow));
 1527    FCstr();
 1528    ~FCstr();
 1529    FCstr(const FCstr&){ /*disallow copy constructor */}
 1530    void operator =(const FCstr&){ /*disallow direct assignment */}
 1531};
 1532
 1533// Copy fields out of row
 1534// func:amc.FCstr.msghdr.CopyOut
 1535void                 cstr_CopyOut(amc::FCstr &row, dmmeta::Cstr &out) __attribute__((nothrow));
 1536// Copy fields in to row
 1537// func:amc.FCstr.msghdr.CopyIn
 1538void                 cstr_CopyIn(amc::FCstr &row, dmmeta::Cstr &in) __attribute__((nothrow));
 1539
 1540// Set all fields to initial values.
 1541// func:amc.FCstr..Init
 1542void                 FCstr_Init(amc::FCstr& cstr);
 1543// func:amc.FCstr..Uninit
 1544void                 FCstr_Uninit(amc::FCstr& cstr) __attribute__((nothrow));
 1545
 1546// --- amc.FCtype
 1547// create: amc.FDb.ctype (Lary)
 1548// global access: ind_ctype (Thash)
 1549// global access: c_ctype_sorted (Ptrary)
 1550// global access: zsl_ctype_pack_tran (Llist)
 1551// global access: zs_sig_visit (Llist)
 1552// global access: c_u64 (Ptr)
 1553// access: amc.FCafter.p_after (Upptr)
 1554// access: amc.FCget.p_ctype (Upptr)
 1555// access: amc.FCpptype.p_ctype (Upptr)
 1556// access: amc.FCtype.c_parent (Ptrary)
 1557// access: amc.FDispatch.p_ctype_hdr (Upptr)
 1558// access: amc.FDispatch.p_casetype (Upptr)
 1559// access: amc.FDispatchmsg.p_ctype (Upptr)
 1560// access: amc.FDispctx.p_ctype (Upptr)
 1561// access: amc.FField.p_ctype (Upptr)
 1562// access: amc.FField.p_arg (Upptr)
 1563// access: amc.FGsymbol.p_symboltype (Upptr)
 1564// access: amc.FHook.p_funcptr (Upptr)
 1565// access: amc.FMsgtype.p_ctype (Upptr)
 1566// access: amc.FNs.c_ctype (Ptrary)
 1567// access: amc.FNumstr.p_numtype (Upptr)
 1568// access: amc.FPack.p_ctype (Upptr)
 1569// access: amc.FPnew.p_ctype (Upptr)
 1570// access: amc.FSsimfile.p_ctype (Upptr)
 1571// access: amc.FTypefld.p_ctype (Upptr)
 1572// access: amc.FXref.p_ctype (Upptr)
 1573// access: amc.Genctx.p_ctype (Upptr)
 1574// access: amc.Genpnew.p_ctype (Upptr)
 1575struct FCtype { // amc.FCtype
 1576    algo::Smallstr100     ctype;                      // Identifier. must be ns.typename
 1577    algo::Comment         comment;                    //
 1578    amc::FCfmt*           zs_cfmt_head;               // zero-terminated singly linked list
 1579    amc::FCfmt*           zs_cfmt_tail;               // pointer to last element
 1580    algo::cstring         cpp_type;                   // type name to use in c++
 1581    algo::cstring         body;                       // Struct contents
 1582    algo::cstring         sizecheck;                  // Size check assertions
 1583    amc::FFunc*           c_init;                     // Pointer to constructor. optional pointer
 1584    amc::FNs*             p_ns;                       // reference to parent row
 1585    amc::FBltin*          c_bltin;                    // optional pointer
 1586    amc::FField**         c_field_elems;              // array of pointers
 1587    u32                   c_field_n;                  // array of pointers
 1588    u32                   c_field_max;                // capacity of allocated array
 1589    amc::FMsgtype*        c_msgtype;                  // optional pointer
 1590    amc::FField*          c_varlenfld;                // optional pointer
 1591    amc::FField*          c_optfld;                   // optional pointer
 1592    amc::FStatictuple**   c_static_elems;             // array of pointers
 1593    u32                   c_static_n;                 // array of pointers
 1594    u32                   c_static_max;               // capacity of allocated array
 1595    amc::FCpptype*        c_cpptype;                  // optional pointer
 1596    amc::FCtype**         c_parent_elems;             // array of pointers
 1597    u32                   c_parent_n;                 // array of pointers
 1598    u32                   c_parent_max;               // capacity of allocated array
 1599    amc::FSsimfile*       c_ssimfile;                 // Ssimfile associated with this ctype. optional pointer
 1600    amc::FPack*           c_pack;                     // optional pointer
 1601    amc::FLenfld*         c_lenfld;                   // optional pointer
 1602    amc::FPmaskfld**      c_pmaskfld_elems;           // array of pointers
 1603    u32                   c_pmaskfld_n;               // array of pointers
 1604    u32                   c_pmaskfld_max;             // capacity of allocated array
 1605    amc::FTypefld*        c_typefld;                  // optional pointer
 1606    amc::FField**         c_datafld_elems;            // array of pointers
 1607    u32                   c_datafld_n;                // array of pointers
 1608    u32                   c_datafld_max;              // capacity of allocated array
 1609    amc::FField*          zd_inst_head;               // zero-terminated doubly linked list
 1610    i32                   zd_inst_n;                  // zero-terminated doubly linked list
 1611    amc::FField*          zd_inst_tail;               // pointer to last element
 1612    amc::FXref*           zs_xref_head;               // zero-terminated singly linked list
 1613    i32                   zs_xref_n;                  // zero-terminated singly linked list
 1614    amc::FXref*           zs_xref_tail;               // pointer to last element
 1615    amc::FChash*          c_chash;                    // optional pointer
 1616    amc::FCcmp*           c_ccmp;                     // optional pointer
 1617    amc::FCstr*           c_cstr;                     // optional pointer
 1618    amc::FCextern*        c_cextern;                  // optional pointer
 1619    algo::Sha1sig         signature;                  //
 1620    amc::FFunc**          c_ffunc_elems;              // array of pointers
 1621    u32                   c_ffunc_n;                  // array of pointers
 1622    u32                   c_ffunc_max;                // capacity of allocated array
 1623    amc::FCafter*         zd_cafter_head;             // zero-terminated doubly linked list
 1624    i32                   zd_cafter_n;                // zero-terminated doubly linked list
 1625    amc::FCafter*         zd_cafter_tail;             // pointer to last element
 1626    amc::FCsize*          c_csize;                    // optional pointer
 1627    amc::FField*          zd_access_head;             // zero-terminated doubly linked list
 1628    i32                   zd_access_n;                // zero-terminated doubly linked list
 1629    amc::FField*          zd_access_tail;             // pointer to last element
 1630    amc::FCdflt*          c_cdflt;                    // optional pointer
 1631    amc::FArgvtype*       c_argvtype;                 // optional pointer
 1632    amc::FFloadtuples*    c_floadtuples;              // optional pointer
 1633    amc::FField*          c_pkeyfield;                // Field corresponding to pkey of this type. optional pointer
 1634    amc::FFcurs**         c_fcurs_elems;              // array of pointers
 1635    u32                   c_fcurs_n;                  // array of pointers
 1636    u32                   c_fcurs_max;                // capacity of allocated array
 1637    algo::cstring         copy_priv_reason;           //
 1638    amc::FCtypelen*       c_ctypelen;                 // optional pointer
 1639    bool                  copy_priv_valid;            //   false
 1640    bool                  size_unknown;               //   false
 1641    bool                  size_locked;                //   false
 1642    bool                  topo_visited;               //   false  Temporary
 1643    bool                  enum_visited;               //   false  Temporary
 1644    bool                  copy_priv;                  //   false  disallow copy ctor / assign op
 1645    bool                  fields_cloned;              //   false  True if fields from c_cbase have been cloned.
 1646    bool                  original;                   //   false  True if this ctype comes from disk
 1647    bool                  plaindata;                  //   false
 1648    u32                   alignment;                  //   1
 1649    i32                   n_padbytes;                 //   0
 1650    u32                   totsize_byte;               //   0  Total size in bytes of all fields
 1651    i32                   n_xref;                     //   0
 1652    i32                   next_anon_idx;              //   0  sequence to enumerate positional fields
 1653    amc::FNossimfile*     c_nossimfile;               // optional pointer
 1654    i32                   topo_idx;                   //   0  Index of ctype in array c_ctype (after topological sort)
 1655    amc::FCfast*          c_cfast;                    // optional pointer
 1656    amc::FFfast**         c_ffast_elems;              // array of pointers
 1657    u32                   c_ffast_n;                  // array of pointers
 1658    u32                   c_ffast_max;                // capacity of allocated array
 1659    bool                  ns_c_ctype_in_ary;          //   false  membership flag
 1660    amc::FCtype*          ind_ctype_next;             // hash next
 1661    amc::FCtype*          zsl_ctype_pack_tran_next;   // zslist link; -1 means not-in-list
 1662    amc::FCtype*          zs_sig_visit_next;          // zslist link; -1 means not-in-list
 1663private:
 1664    friend amc::FCtype&         ctype_Alloc() __attribute__((__warn_unused_result__, nothrow));
 1665    friend amc::FCtype*         ctype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 1666    friend void                 ctype_RemoveLast() __attribute__((nothrow));
 1667    FCtype();
 1668    ~FCtype();
 1669    FCtype(const FCtype&){ /*disallow copy constructor */}
 1670    void operator =(const FCtype&){ /*disallow direct assignment */}
 1671};
 1672
 1673// Copy fields out of row
 1674// func:amc.FCtype.msghdr.CopyOut
 1675void                 ctype_CopyOut(amc::FCtype &row, dmmeta::Ctype &out) __attribute__((nothrow));
 1676// Copy fields in to row
 1677// func:amc.FCtype.msghdr.CopyIn
 1678void                 ctype_CopyIn(amc::FCtype &row, dmmeta::Ctype &in) __attribute__((nothrow));
 1679
 1680// func:amc.FCtype.ns.Get
 1681algo::Smallstr16     ns_Get(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow));
 1682
 1683// func:amc.FCtype.name.Get
 1684algo::Smallstr100    name_Get(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow));
 1685
 1686// Return true if index is empty
 1687// func:amc.FCtype.zs_cfmt.EmptyQ
 1688bool                 zs_cfmt_EmptyQ(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 1689// If index empty, return NULL. Otherwise return pointer to first element in index
 1690// func:amc.FCtype.zs_cfmt.First
 1691amc::FCfmt*          zs_cfmt_First(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 1692// Return true if row is in the linked list, false otherwise
 1693// func:amc.FCtype.zs_cfmt.InLlistQ
 1694bool                 zs_cfmt_InLlistQ(amc::FCfmt& row) __attribute__((__warn_unused_result__, nothrow));
 1695// Insert row into linked list. If row is already in linked list, do nothing.
 1696// func:amc.FCtype.zs_cfmt.Insert
 1697void                 zs_cfmt_Insert(amc::FCtype& ctype, amc::FCfmt& row) __attribute__((nothrow));
 1698// If index empty, return NULL. Otherwise return pointer to last element in index
 1699// func:amc.FCtype.zs_cfmt.Last
 1700amc::FCfmt*          zs_cfmt_Last(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 1701// Return pointer to next element in the list
 1702// func:amc.FCtype.zs_cfmt.Next
 1703amc::FCfmt*          zs_cfmt_Next(amc::FCfmt &row) __attribute__((__warn_unused_result__, nothrow));
 1704// Remove element from index. If element is not in index, do nothing.
 1705// Since the list is singly-linked, use linear search to locate the element.
 1706// func:amc.FCtype.zs_cfmt.Remove
 1707void                 zs_cfmt_Remove(amc::FCtype& ctype, amc::FCfmt& row) __attribute__((nothrow));
 1708// Empty the index. (The rows are not deleted)
 1709// func:amc.FCtype.zs_cfmt.RemoveAll
 1710void                 zs_cfmt_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
 1711// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
 1712// func:amc.FCtype.zs_cfmt.RemoveFirst
 1713amc::FCfmt*          zs_cfmt_RemoveFirst(amc::FCtype& ctype) __attribute__((nothrow));
 1714// Return reference to last element in the index. No bounds checking.
 1715// func:amc.FCtype.zs_cfmt.qLast
 1716amc::FCfmt&          zs_cfmt_qLast(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow));
 1717
 1718// Insert row into pointer index. Return final membership status.
 1719// func:amc.FCtype.c_bltin.InsertMaybe
 1720bool                 c_bltin_InsertMaybe(amc::FCtype& ctype, amc::FBltin& row) __attribute__((nothrow));
 1721// Remove element from index. If element is not in index, do nothing.
 1722// func:amc.FCtype.c_bltin.Remove
 1723void                 c_bltin_Remove(amc::FCtype& ctype, amc::FBltin& row) __attribute__((nothrow));
 1724
 1725// Return true if index is empty
 1726// func:amc.FCtype.c_field.EmptyQ
 1727bool                 c_field_EmptyQ(amc::FCtype& ctype) __attribute__((nothrow));
 1728// Look up row by row id. Return NULL if out of range
 1729// func:amc.FCtype.c_field.Find
 1730amc::FField*         c_field_Find(amc::FCtype& ctype, u32 t) __attribute__((__warn_unused_result__, nothrow));
 1731// Return array of pointers
 1732// func:amc.FCtype.c_field.Getary
 1733algo::aryptr<amc::FField*> c_field_Getary(amc::FCtype& ctype) __attribute__((nothrow));
 1734// Insert pointer to row into array. Row must not already be in array.
 1735// If pointer is already in the array, it may be inserted twice.
 1736// func:amc.FCtype.c_field.Insert
 1737void                 c_field_Insert(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
 1738// Insert pointer to row in array.
 1739// If row is already in the array, do nothing.
 1740// Linear search is used to locate the element.
 1741// Return value: whether element was inserted into array.
 1742// func:amc.FCtype.c_field.ScanInsertMaybe
 1743bool                 c_field_ScanInsertMaybe(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
 1744// Return number of items in the pointer array
 1745// func:amc.FCtype.c_field.N
 1746i32                  c_field_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 1747// Find element using linear scan. If element is in array, remove, otherwise do nothing
 1748// func:amc.FCtype.c_field.Remove
 1749void                 c_field_Remove(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
 1750// Empty the index. (The rows are not deleted)
 1751// func:amc.FCtype.c_field.RemoveAll
 1752void                 c_field_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
 1753// Reserve space in index for N more elements;
 1754// func:amc.FCtype.c_field.Reserve
 1755void                 c_field_Reserve(amc::FCtype& ctype, u32 n) __attribute__((nothrow));
 1756// Return reference without bounds checking
 1757// func:amc.FCtype.c_field.qFind
 1758amc::FField&         c_field_qFind(amc::FCtype& ctype, u32 idx) __attribute__((nothrow));
 1759// Reference to last element without bounds checking
 1760// func:amc.FCtype.c_field.qLast
 1761amc::FField&         c_field_qLast(amc::FCtype& ctype) __attribute__((nothrow));
 1762// Verify whether array is sorted
 1763// func:amc.FCtype.c_field.SortedQ
 1764bool                 c_field_SortedQ(amc::FCtype& ctype) __attribute__((nothrow));
 1765// Insertion sort
 1766// func:amc.FCtype.c_field.InsertionSort
 1767void                 c_field_InsertionSort(amc::FCtype& ctype) __attribute__((nothrow));
 1768// Heap sort
 1769// func:amc.FCtype.c_field.HeapSort
 1770void                 c_field_HeapSort(amc::FCtype& ctype) __attribute__((nothrow));
 1771// Quick sort
 1772// func:amc.FCtype.c_field.QuickSort
 1773void                 c_field_QuickSort(amc::FCtype& ctype) __attribute__((nothrow));
 1774
 1775// Insert row into pointer index. Return final membership status.
 1776// func:amc.FCtype.c_msgtype.InsertMaybe
 1777bool                 c_msgtype_InsertMaybe(amc::FCtype& ctype, amc::FMsgtype& row) __attribute__((nothrow));
 1778// Remove element from index. If element is not in index, do nothing.
 1779// func:amc.FCtype.c_msgtype.Remove
 1780void                 c_msgtype_Remove(amc::FCtype& ctype, amc::FMsgtype& row) __attribute__((nothrow));
 1781
 1782// Insert row into pointer index. Return final membership status.
 1783// func:amc.FCtype.c_varlenfld.InsertMaybe
 1784bool                 c_varlenfld_InsertMaybe(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
 1785// Remove element from index. If element is not in index, do nothing.
 1786// func:amc.FCtype.c_varlenfld.Remove
 1787void                 c_varlenfld_Remove(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
 1788
 1789// Insert row into pointer index. Return final membership status.
 1790// func:amc.FCtype.c_optfld.InsertMaybe
 1791bool                 c_optfld_InsertMaybe(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
 1792// Remove element from index. If element is not in index, do nothing.
 1793// func:amc.FCtype.c_optfld.Remove
 1794void                 c_optfld_Remove(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
 1795
 1796// Return true if index is empty
 1797// func:amc.FCtype.c_static.EmptyQ
 1798bool                 c_static_EmptyQ(amc::FCtype& ctype) __attribute__((nothrow));
 1799// Look up row by row id. Return NULL if out of range
 1800// func:amc.FCtype.c_static.Find
 1801amc::FStatictuple*   c_static_Find(amc::FCtype& ctype, u32 t) __attribute__((__warn_unused_result__, nothrow));
 1802// Return array of pointers
 1803// func:amc.FCtype.c_static.Getary
 1804algo::aryptr<amc::FStatictuple*> c_static_Getary(amc::FCtype& ctype) __attribute__((nothrow));
 1805// Insert pointer to row into array. Row must not already be in array.
 1806// If pointer is already in the array, it may be inserted twice.
 1807// func:amc.FCtype.c_static.Insert
 1808void                 c_static_Insert(amc::FCtype& ctype, amc::FStatictuple& row) __attribute__((nothrow));
 1809// Insert pointer to row in array.
 1810// If row is already in the array, do nothing.
 1811// Return value: whether element was inserted into array.
 1812// func:amc.FCtype.c_static.InsertMaybe
 1813bool                 c_static_InsertMaybe(amc::FCtype& ctype, amc::FStatictuple& row) __attribute__((nothrow));
 1814// Return number of items in the pointer array
 1815// func:amc.FCtype.c_static.N
 1816i32                  c_static_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 1817// Find element using linear scan. If element is in array, remove, otherwise do nothing
 1818// func:amc.FCtype.c_static.Remove
 1819void                 c_static_Remove(amc::FCtype& ctype, amc::FStatictuple& row) __attribute__((nothrow));
 1820// Empty the index. (The rows are not deleted)
 1821// func:amc.FCtype.c_static.RemoveAll
 1822void                 c_static_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
 1823// Reserve space in index for N more elements;
 1824// func:amc.FCtype.c_static.Reserve
 1825void                 c_static_Reserve(amc::FCtype& ctype, u32 n) __attribute__((nothrow));
 1826// Return reference without bounds checking
 1827// func:amc.FCtype.c_static.qFind
 1828amc::FStatictuple&   c_static_qFind(amc::FCtype& ctype, u32 idx) __attribute__((nothrow));
 1829// True if row is in any ptrary instance
 1830// func:amc.FCtype.c_static.InAryQ
 1831bool                 ctype_c_static_InAryQ(amc::FStatictuple& row) __attribute__((nothrow));
 1832// Reference to last element without bounds checking
 1833// func:amc.FCtype.c_static.qLast
 1834amc::FStatictuple&   c_static_qLast(amc::FCtype& ctype) __attribute__((nothrow));
 1835
 1836// Insert row into pointer index. Return final membership status.
 1837// func:amc.FCtype.c_cpptype.InsertMaybe
 1838bool                 c_cpptype_InsertMaybe(amc::FCtype& ctype, amc::FCpptype& row) __attribute__((nothrow));
 1839// Remove element from index. If element is not in index, do nothing.
 1840// func:amc.FCtype.c_cpptype.Remove
 1841void                 c_cpptype_Remove(amc::FCtype& ctype, amc::FCpptype& row) __attribute__((nothrow));
 1842
 1843// Return true if index is empty
 1844// func:amc.FCtype.c_parent.EmptyQ
 1845bool                 c_parent_EmptyQ(amc::FCtype& ctype) __attribute__((nothrow));
 1846// Look up row by row id. Return NULL if out of range
 1847// func:amc.FCtype.c_parent.Find
 1848amc::FCtype*         c_parent_Find(amc::FCtype& ctype, u32 t) __attribute__((__warn_unused_result__, nothrow));
 1849// Return array of pointers
 1850// func:amc.FCtype.c_parent.Getary
 1851algo::aryptr<amc::FCtype*> c_parent_Getary(amc::FCtype& ctype) __attribute__((nothrow));
 1852// Insert pointer to row into array. Row must not already be in array.
 1853// If pointer is already in the array, it may be inserted twice.
 1854// func:amc.FCtype.c_parent.Insert
 1855void                 c_parent_Insert(amc::FCtype& ctype, amc::FCtype& row) __attribute__((nothrow));
 1856// Insert pointer to row in array.
 1857// If row is already in the array, do nothing.
 1858// Linear search is used to locate the element.
 1859// Return value: whether element was inserted into array.
 1860// func:amc.FCtype.c_parent.ScanInsertMaybe
 1861bool                 c_parent_ScanInsertMaybe(amc::FCtype& ctype, amc::FCtype& row) __attribute__((nothrow));
 1862// Return number of items in the pointer array
 1863// func:amc.FCtype.c_parent.N
 1864i32                  c_parent_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 1865// Find element using linear scan. If element is in array, remove, otherwise do nothing
 1866// func:amc.FCtype.c_parent.Remove
 1867void                 c_parent_Remove(amc::FCtype& ctype, amc::FCtype& row) __attribute__((nothrow));
 1868// Empty the index. (The rows are not deleted)
 1869// func:amc.FCtype.c_parent.RemoveAll
 1870void                 c_parent_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
 1871// Reserve space in index for N more elements;
 1872// func:amc.FCtype.c_parent.Reserve
 1873void                 c_parent_Reserve(amc::FCtype& ctype, u32 n) __attribute__((nothrow));
 1874// Return reference without bounds checking
 1875// func:amc.FCtype.c_parent.qFind
 1876amc::FCtype&         c_parent_qFind(amc::FCtype& ctype, u32 idx) __attribute__((nothrow));
 1877// Reference to last element without bounds checking
 1878// func:amc.FCtype.c_parent.qLast
 1879amc::FCtype&         c_parent_qLast(amc::FCtype& ctype) __attribute__((nothrow));
 1880
 1881// Insert row into pointer index. Return final membership status.
 1882// func:amc.FCtype.c_ssimfile.InsertMaybe
 1883bool                 c_ssimfile_InsertMaybe(amc::FCtype& ctype, amc::FSsimfile& row) __attribute__((nothrow));
 1884// Remove element from index. If element is not in index, do nothing.
 1885// func:amc.FCtype.c_ssimfile.Remove
 1886void                 c_ssimfile_Remove(amc::FCtype& ctype, amc::FSsimfile& row) __attribute__((nothrow));
 1887
 1888// Insert row into pointer index. Return final membership status.
 1889// func:amc.FCtype.c_pack.InsertMaybe
 1890bool                 c_pack_InsertMaybe(amc::FCtype& ctype, amc::FPack& row) __attribute__((nothrow));
 1891// Remove element from index. If element is not in index, do nothing.
 1892// func:amc.FCtype.c_pack.Remove
 1893void                 c_pack_Remove(amc::FCtype& ctype, amc::FPack& row) __attribute__((nothrow));
 1894
 1895// Insert row into pointer index. Return final membership status.
 1896// func:amc.FCtype.c_lenfld.InsertMaybe
 1897bool                 c_lenfld_InsertMaybe(amc::FCtype& ctype, amc::FLenfld& row) __attribute__((nothrow));
 1898// Remove element from index. If element is not in index, do nothing.
 1899// func:amc.FCtype.c_lenfld.Remove
 1900void                 c_lenfld_Remove(amc::FCtype& ctype, amc::FLenfld& row) __attribute__((nothrow));
 1901
 1902// Return true if index is empty
 1903// func:amc.FCtype.c_pmaskfld.EmptyQ
 1904bool                 c_pmaskfld_EmptyQ(amc::FCtype& ctype) __attribute__((nothrow));
 1905// Look up row by row id. Return NULL if out of range
 1906// func:amc.FCtype.c_pmaskfld.Find
 1907amc::FPmaskfld*      c_pmaskfld_Find(amc::FCtype& ctype, u32 t) __attribute__((__warn_unused_result__, nothrow));
 1908// Return array of pointers
 1909// func:amc.FCtype.c_pmaskfld.Getary
 1910algo::aryptr<amc::FPmaskfld*> c_pmaskfld_Getary(amc::FCtype& ctype) __attribute__((nothrow));
 1911// Insert pointer to row into array. Row must not already be in array.
 1912// If pointer is already in the array, it may be inserted twice.
 1913// func:amc.FCtype.c_pmaskfld.Insert
 1914void                 c_pmaskfld_Insert(amc::FCtype& ctype, amc::FPmaskfld& row) __attribute__((nothrow));
 1915// Insert pointer to row in array.
 1916// If row is already in the array, do nothing.
 1917// Return value: whether element was inserted into array.
 1918// func:amc.FCtype.c_pmaskfld.InsertMaybe
 1919bool                 c_pmaskfld_InsertMaybe(amc::FCtype& ctype, amc::FPmaskfld& row) __attribute__((nothrow));
 1920// Return number of items in the pointer array
 1921// func:amc.FCtype.c_pmaskfld.N
 1922i32                  c_pmaskfld_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 1923// Find element using linear scan. If element is in array, remove, otherwise do nothing
 1924// func:amc.FCtype.c_pmaskfld.Remove
 1925void                 c_pmaskfld_Remove(amc::FCtype& ctype, amc::FPmaskfld& row) __attribute__((nothrow));
 1926// Empty the index. (The rows are not deleted)
 1927// func:amc.FCtype.c_pmaskfld.RemoveAll
 1928void                 c_pmaskfld_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
 1929// Reserve space in index for N more elements;
 1930// func:amc.FCtype.c_pmaskfld.Reserve
 1931void                 c_pmaskfld_Reserve(amc::FCtype& ctype, u32 n) __attribute__((nothrow));
 1932// Return reference without bounds checking
 1933// func:amc.FCtype.c_pmaskfld.qFind
 1934amc::FPmaskfld&      c_pmaskfld_qFind(amc::FCtype& ctype, u32 idx) __attribute__((nothrow));
 1935// True if row is in any ptrary instance
 1936// func:amc.FCtype.c_pmaskfld.InAryQ
 1937bool                 ctype_c_pmaskfld_InAryQ(amc::FPmaskfld& row) __attribute__((nothrow));
 1938// Reference to last element without bounds checking
 1939// func:amc.FCtype.c_pmaskfld.qLast
 1940amc::FPmaskfld&      c_pmaskfld_qLast(amc::FCtype& ctype) __attribute__((nothrow));
 1941
 1942// Insert row into pointer index. Return final membership status.
 1943// func:amc.FCtype.c_typefld.InsertMaybe
 1944bool                 c_typefld_InsertMaybe(amc::FCtype& ctype, amc::FTypefld& row) __attribute__((nothrow));
 1945// Remove element from index. If element is not in index, do nothing.
 1946// func:amc.FCtype.c_typefld.Remove
 1947void                 c_typefld_Remove(amc::FCtype& ctype, amc::FTypefld& row) __attribute__((nothrow));
 1948
 1949// Return true if index is empty
 1950// func:amc.FCtype.c_datafld.EmptyQ
 1951bool                 c_datafld_EmptyQ(amc::FCtype& ctype) __attribute__((nothrow));
 1952// Look up row by row id. Return NULL if out of range
 1953// func:amc.FCtype.c_datafld.Find
 1954amc::FField*         c_datafld_Find(amc::FCtype& ctype, u32 t) __attribute__((__warn_unused_result__, nothrow));
 1955// Return array of pointers
 1956// func:amc.FCtype.c_datafld.Getary
 1957algo::aryptr<amc::FField*> c_datafld_Getary(amc::FCtype& ctype) __attribute__((nothrow));
 1958// Insert pointer to row into array. Row must not already be in array.
 1959// If pointer is already in the array, it may be inserted twice.
 1960// func:amc.FCtype.c_datafld.Insert
 1961void                 c_datafld_Insert(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
 1962// Insert pointer to row in array.
 1963// If row is already in the array, do nothing.
 1964// Return value: whether element was inserted into array.
 1965// func:amc.FCtype.c_datafld.InsertMaybe
 1966bool                 c_datafld_InsertMaybe(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
 1967// Return number of items in the pointer array
 1968// func:amc.FCtype.c_datafld.N
 1969i32                  c_datafld_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 1970// Find element using linear scan. If element is in array, remove, otherwise do nothing
 1971// func:amc.FCtype.c_datafld.Remove
 1972void                 c_datafld_Remove(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
 1973// Empty the index. (The rows are not deleted)
 1974// func:amc.FCtype.c_datafld.RemoveAll
 1975void                 c_datafld_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
 1976// Reserve space in index for N more elements;
 1977// func:amc.FCtype.c_datafld.Reserve
 1978void                 c_datafld_Reserve(amc::FCtype& ctype, u32 n) __attribute__((nothrow));
 1979// Return reference without bounds checking
 1980// func:amc.FCtype.c_datafld.qFind
 1981amc::FField&         c_datafld_qFind(amc::FCtype& ctype, u32 idx) __attribute__((nothrow));
 1982// True if row is in any ptrary instance
 1983// func:amc.FCtype.c_datafld.InAryQ
 1984bool                 ctype_c_datafld_InAryQ(amc::FField& row) __attribute__((nothrow));
 1985// Reference to last element without bounds checking
 1986// func:amc.FCtype.c_datafld.qLast
 1987amc::FField&         c_datafld_qLast(amc::FCtype& ctype) __attribute__((nothrow));
 1988
 1989// Return true if index is empty
 1990// func:amc.FCtype.zd_inst.EmptyQ
 1991bool                 zd_inst_EmptyQ(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 1992// If index empty, return NULL. Otherwise return pointer to first element in index
 1993// func:amc.FCtype.zd_inst.First
 1994amc::FField*         zd_inst_First(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 1995// Return true if row is in the linked list, false otherwise
 1996// func:amc.FCtype.zd_inst.InLlistQ
 1997bool                 zd_inst_InLlistQ(amc::FField& row) __attribute__((__warn_unused_result__, nothrow));
 1998// Insert row into linked list. If row is already in linked list, do nothing.
 1999// func:amc.FCtype.zd_inst.Insert
 2000void                 zd_inst_Insert(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
 2001// If index empty, return NULL. Otherwise return pointer to last element in index
 2002// func:amc.FCtype.zd_inst.Last
 2003amc::FField*         zd_inst_Last(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 2004// Return number of items in the linked list
 2005// func:amc.FCtype.zd_inst.N
 2006i32                  zd_inst_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 2007// Return pointer to next element in the list
 2008// func:amc.FCtype.zd_inst.Next
 2009amc::FField*         zd_inst_Next(amc::FField &row) __attribute__((__warn_unused_result__, nothrow));
 2010// Return pointer to previous element in the list
 2011// func:amc.FCtype.zd_inst.Prev
 2012amc::FField*         zd_inst_Prev(amc::FField &row) __attribute__((__warn_unused_result__, nothrow));
 2013// Remove element from index. If element is not in index, do nothing.
 2014// func:amc.FCtype.zd_inst.Remove
 2015void                 zd_inst_Remove(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
 2016// Empty the index. (The rows are not deleted)
 2017// func:amc.FCtype.zd_inst.RemoveAll
 2018void                 zd_inst_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
 2019// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
 2020// func:amc.FCtype.zd_inst.RemoveFirst
 2021amc::FField*         zd_inst_RemoveFirst(amc::FCtype& ctype) __attribute__((nothrow));
 2022// Return reference to last element in the index. No bounds checking.
 2023// func:amc.FCtype.zd_inst.qLast
 2024amc::FField&         zd_inst_qLast(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow));
 2025
 2026// Return true if index is empty
 2027// func:amc.FCtype.zs_xref.EmptyQ
 2028bool                 zs_xref_EmptyQ(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 2029// If index empty, return NULL. Otherwise return pointer to first element in index
 2030// func:amc.FCtype.zs_xref.First
 2031amc::FXref*          zs_xref_First(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 2032// Return true if row is in the linked list, false otherwise
 2033// func:amc.FCtype.zs_xref.InLlistQ
 2034bool                 zs_xref_InLlistQ(amc::FXref& row) __attribute__((__warn_unused_result__, nothrow));
 2035// Insert row into linked list. If row is already in linked list, do nothing.
 2036// func:amc.FCtype.zs_xref.Insert
 2037void                 zs_xref_Insert(amc::FCtype& ctype, amc::FXref& row) __attribute__((nothrow));
 2038// If index empty, return NULL. Otherwise return pointer to last element in index
 2039// func:amc.FCtype.zs_xref.Last
 2040amc::FXref*          zs_xref_Last(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 2041// Return number of items in the linked list
 2042// func:amc.FCtype.zs_xref.N
 2043i32                  zs_xref_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 2044// Return pointer to next element in the list
 2045// func:amc.FCtype.zs_xref.Next
 2046amc::FXref*          zs_xref_Next(amc::FXref &row) __attribute__((__warn_unused_result__, nothrow));
 2047// Remove element from index. If element is not in index, do nothing.
 2048// Since the list is singly-linked, use linear search to locate the element.
 2049// func:amc.FCtype.zs_xref.Remove
 2050void                 zs_xref_Remove(amc::FCtype& ctype, amc::FXref& row) __attribute__((nothrow));
 2051// Empty the index. (The rows are not deleted)
 2052// func:amc.FCtype.zs_xref.RemoveAll
 2053void                 zs_xref_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
 2054// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
 2055// func:amc.FCtype.zs_xref.RemoveFirst
 2056amc::FXref*          zs_xref_RemoveFirst(amc::FCtype& ctype) __attribute__((nothrow));
 2057// Return reference to last element in the index. No bounds checking.
 2058// func:amc.FCtype.zs_xref.qLast
 2059amc::FXref&          zs_xref_qLast(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow));
 2060
 2061// Insert row into pointer index. Return final membership status.
 2062// func:amc.FCtype.c_chash.InsertMaybe
 2063bool                 c_chash_InsertMaybe(amc::FCtype& ctype, amc::FChash& row) __attribute__((nothrow));
 2064// Remove element from index. If element is not in index, do nothing.
 2065// func:amc.FCtype.c_chash.Remove
 2066void                 c_chash_Remove(amc::FCtype& ctype, amc::FChash& row) __attribute__((nothrow));
 2067
 2068// Insert row into pointer index. Return final membership status.
 2069// func:amc.FCtype.c_ccmp.InsertMaybe
 2070bool                 c_ccmp_InsertMaybe(amc::FCtype& ctype, amc::FCcmp& row) __attribute__((nothrow));
 2071// Remove element from index. If element is not in index, do nothing.
 2072// func:amc.FCtype.c_ccmp.Remove
 2073void                 c_ccmp_Remove(amc::FCtype& ctype, amc::FCcmp& row) __attribute__((nothrow));
 2074
 2075// Insert row into pointer index. Return final membership status.
 2076// func:amc.FCtype.c_cstr.InsertMaybe
 2077bool                 c_cstr_InsertMaybe(amc::FCtype& ctype, amc::FCstr& row) __attribute__((nothrow));
 2078// Remove element from index. If element is not in index, do nothing.
 2079// func:amc.FCtype.c_cstr.Remove
 2080void                 c_cstr_Remove(amc::FCtype& ctype, amc::FCstr& row) __attribute__((nothrow));
 2081
 2082// Insert row into pointer index. Return final membership status.
 2083// func:amc.FCtype.c_cextern.InsertMaybe
 2084bool                 c_cextern_InsertMaybe(amc::FCtype& ctype, amc::FCextern& row) __attribute__((nothrow));
 2085// Remove element from index. If element is not in index, do nothing.
 2086// func:amc.FCtype.c_cextern.Remove
 2087void                 c_cextern_Remove(amc::FCtype& ctype, amc::FCextern& row) __attribute__((nothrow));
 2088
 2089// Return true if index is empty
 2090// func:amc.FCtype.c_ffunc.EmptyQ
 2091bool                 c_ffunc_EmptyQ(amc::FCtype& ctype) __attribute__((nothrow));
 2092// Look up row by row id. Return NULL if out of range
 2093// func:amc.FCtype.c_ffunc.Find
 2094amc::FFunc*          c_ffunc_Find(amc::FCtype& ctype, u32 t) __attribute__((__warn_unused_result__, nothrow));
 2095// Return array of pointers
 2096// func:amc.FCtype.c_ffunc.Getary
 2097algo::aryptr<amc::FFunc*> c_ffunc_Getary(amc::FCtype& ctype) __attribute__((nothrow));
 2098// Insert pointer to row into array. Row must not already be in array.
 2099// If pointer is already in the array, it may be inserted twice.
 2100// func:amc.FCtype.c_ffunc.Insert
 2101void                 c_ffunc_Insert(amc::FCtype& ctype, amc::FFunc& row) __attribute__((nothrow));
 2102// Insert pointer to row in array.
 2103// If row is already in the array, do nothing.
 2104// Linear search is used to locate the element.
 2105// Return value: whether element was inserted into array.
 2106// func:amc.FCtype.c_ffunc.ScanInsertMaybe
 2107bool                 c_ffunc_ScanInsertMaybe(amc::FCtype& ctype, amc::FFunc& row) __attribute__((nothrow));
 2108// Return number of items in the pointer array
 2109// func:amc.FCtype.c_ffunc.N
 2110i32                  c_ffunc_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 2111// Find element using linear scan. If element is in array, remove, otherwise do nothing
 2112// func:amc.FCtype.c_ffunc.Remove
 2113void                 c_ffunc_Remove(amc::FCtype& ctype, amc::FFunc& row) __attribute__((nothrow));
 2114// Empty the index. (The rows are not deleted)
 2115// func:amc.FCtype.c_ffunc.RemoveAll
 2116void                 c_ffunc_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
 2117// Reserve space in index for N more elements;
 2118// func:amc.FCtype.c_ffunc.Reserve
 2119void                 c_ffunc_Reserve(amc::FCtype& ctype, u32 n) __attribute__((nothrow));
 2120// Return reference without bounds checking
 2121// func:amc.FCtype.c_ffunc.qFind
 2122amc::FFunc&          c_ffunc_qFind(amc::FCtype& ctype, u32 idx) __attribute__((nothrow));
 2123// Reference to last element without bounds checking
 2124// func:amc.FCtype.c_ffunc.qLast
 2125amc::FFunc&          c_ffunc_qLast(amc::FCtype& ctype) __attribute__((nothrow));
 2126
 2127// Return true if index is empty
 2128// func:amc.FCtype.zd_cafter.EmptyQ
 2129bool                 zd_cafter_EmptyQ(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 2130// If index empty, return NULL. Otherwise return pointer to first element in index
 2131// func:amc.FCtype.zd_cafter.First
 2132amc::FCafter*        zd_cafter_First(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 2133// Return true if row is in the linked list, false otherwise
 2134// func:amc.FCtype.zd_cafter.InLlistQ
 2135bool                 zd_cafter_InLlistQ(amc::FCafter& row) __attribute__((__warn_unused_result__, nothrow));
 2136// Insert row into linked list. If row is already in linked list, do nothing.
 2137// func:amc.FCtype.zd_cafter.Insert
 2138void                 zd_cafter_Insert(amc::FCtype& ctype, amc::FCafter& row) __attribute__((nothrow));
 2139// If index empty, return NULL. Otherwise return pointer to last element in index
 2140// func:amc.FCtype.zd_cafter.Last
 2141amc::FCafter*        zd_cafter_Last(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 2142// Return number of items in the linked list
 2143// func:amc.FCtype.zd_cafter.N
 2144i32                  zd_cafter_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 2145// Return pointer to next element in the list
 2146// func:amc.FCtype.zd_cafter.Next
 2147amc::FCafter*        zd_cafter_Next(amc::FCafter &row) __attribute__((__warn_unused_result__, nothrow));
 2148// Return pointer to previous element in the list
 2149// func:amc.FCtype.zd_cafter.Prev
 2150amc::FCafter*        zd_cafter_Prev(amc::FCafter &row) __attribute__((__warn_unused_result__, nothrow));
 2151// Remove element from index. If element is not in index, do nothing.
 2152// func:amc.FCtype.zd_cafter.Remove
 2153void                 zd_cafter_Remove(amc::FCtype& ctype, amc::FCafter& row) __attribute__((nothrow));
 2154// Empty the index. (The rows are not deleted)
 2155// func:amc.FCtype.zd_cafter.RemoveAll
 2156void                 zd_cafter_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
 2157// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
 2158// func:amc.FCtype.zd_cafter.RemoveFirst
 2159amc::FCafter*        zd_cafter_RemoveFirst(amc::FCtype& ctype) __attribute__((nothrow));
 2160// Return reference to last element in the index. No bounds checking.
 2161// func:amc.FCtype.zd_cafter.qLast
 2162amc::FCafter&        zd_cafter_qLast(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow));
 2163
 2164// Insert row into pointer index. Return final membership status.
 2165// func:amc.FCtype.c_csize.InsertMaybe
 2166bool                 c_csize_InsertMaybe(amc::FCtype& ctype, amc::FCsize& row) __attribute__((nothrow));
 2167// Remove element from index. If element is not in index, do nothing.
 2168// func:amc.FCtype.c_csize.Remove
 2169void                 c_csize_Remove(amc::FCtype& ctype, amc::FCsize& row) __attribute__((nothrow));
 2170
 2171// Return true if index is empty
 2172// func:amc.FCtype.zd_access.EmptyQ
 2173bool                 zd_access_EmptyQ(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 2174// If index empty, return NULL. Otherwise return pointer to first element in index
 2175// func:amc.FCtype.zd_access.First
 2176amc::FField*         zd_access_First(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 2177// Return true if row is in the linked list, false otherwise
 2178// func:amc.FCtype.zd_access.InLlistQ
 2179bool                 zd_access_InLlistQ(amc::FField& row) __attribute__((__warn_unused_result__, nothrow));
 2180// Insert row into linked list. If row is already in linked list, do nothing.
 2181// func:amc.FCtype.zd_access.Insert
 2182void                 zd_access_Insert(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
 2183// If index empty, return NULL. Otherwise return pointer to last element in index
 2184// func:amc.FCtype.zd_access.Last
 2185amc::FField*         zd_access_Last(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 2186// Return number of items in the linked list
 2187// func:amc.FCtype.zd_access.N
 2188i32                  zd_access_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 2189// Return pointer to next element in the list
 2190// func:amc.FCtype.zd_access.Next
 2191amc::FField*         zd_access_Next(amc::FField &row) __attribute__((__warn_unused_result__, nothrow));
 2192// Return pointer to previous element in the list
 2193// func:amc.FCtype.zd_access.Prev
 2194amc::FField*         zd_access_Prev(amc::FField &row) __attribute__((__warn_unused_result__, nothrow));
 2195// Remove element from index. If element is not in index, do nothing.
 2196// func:amc.FCtype.zd_access.Remove
 2197void                 zd_access_Remove(amc::FCtype& ctype, amc::FField& row) __attribute__((nothrow));
 2198// Empty the index. (The rows are not deleted)
 2199// func:amc.FCtype.zd_access.RemoveAll
 2200void                 zd_access_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
 2201// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
 2202// func:amc.FCtype.zd_access.RemoveFirst
 2203amc::FField*         zd_access_RemoveFirst(amc::FCtype& ctype) __attribute__((nothrow));
 2204// Return reference to last element in the index. No bounds checking.
 2205// func:amc.FCtype.zd_access.qLast
 2206amc::FField&         zd_access_qLast(amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow));
 2207
 2208// Insert row into pointer index. Return final membership status.
 2209// func:amc.FCtype.c_cdflt.InsertMaybe
 2210bool                 c_cdflt_InsertMaybe(amc::FCtype& ctype, amc::FCdflt& row) __attribute__((nothrow));
 2211// Remove element from index. If element is not in index, do nothing.
 2212// func:amc.FCtype.c_cdflt.Remove
 2213void                 c_cdflt_Remove(amc::FCtype& ctype, amc::FCdflt& row) __attribute__((nothrow));
 2214
 2215// Insert row into pointer index. Return final membership status.
 2216// func:amc.FCtype.c_argvtype.InsertMaybe
 2217bool                 c_argvtype_InsertMaybe(amc::FCtype& ctype, amc::FArgvtype& row) __attribute__((nothrow));
 2218// Remove element from index. If element is not in index, do nothing.
 2219// func:amc.FCtype.c_argvtype.Remove
 2220void                 c_argvtype_Remove(amc::FCtype& ctype, amc::FArgvtype& row) __attribute__((nothrow));
 2221
 2222// Insert row into pointer index. Return final membership status.
 2223// func:amc.FCtype.c_floadtuples.InsertMaybe
 2224bool                 c_floadtuples_InsertMaybe(amc::FCtype& ctype, amc::FFloadtuples& row) __attribute__((nothrow));
 2225// Remove element from index. If element is not in index, do nothing.
 2226// func:amc.FCtype.c_floadtuples.Remove
 2227void                 c_floadtuples_Remove(amc::FCtype& ctype, amc::FFloadtuples& row) __attribute__((nothrow));
 2228
 2229// Return true if index is empty
 2230// func:amc.FCtype.c_fcurs.EmptyQ
 2231bool                 c_fcurs_EmptyQ(amc::FCtype& ctype) __attribute__((nothrow));
 2232// Look up row by row id. Return NULL if out of range
 2233// func:amc.FCtype.c_fcurs.Find
 2234amc::FFcurs*         c_fcurs_Find(amc::FCtype& ctype, u32 t) __attribute__((__warn_unused_result__, nothrow));
 2235// Return array of pointers
 2236// func:amc.FCtype.c_fcurs.Getary
 2237algo::aryptr<amc::FFcurs*> c_fcurs_Getary(amc::FCtype& ctype) __attribute__((nothrow));
 2238// Insert pointer to row into array. Row must not already be in array.
 2239// If pointer is already in the array, it may be inserted twice.
 2240// func:amc.FCtype.c_fcurs.Insert
 2241void                 c_fcurs_Insert(amc::FCtype& ctype, amc::FFcurs& row) __attribute__((nothrow));
 2242// Insert pointer to row in array.
 2243// If row is already in the array, do nothing.
 2244// Return value: whether element was inserted into array.
 2245// func:amc.FCtype.c_fcurs.InsertMaybe
 2246bool                 c_fcurs_InsertMaybe(amc::FCtype& ctype, amc::FFcurs& row) __attribute__((nothrow));
 2247// Return number of items in the pointer array
 2248// func:amc.FCtype.c_fcurs.N
 2249i32                  c_fcurs_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 2250// Find element using linear scan. If element is in array, remove, otherwise do nothing
 2251// func:amc.FCtype.c_fcurs.Remove
 2252void                 c_fcurs_Remove(amc::FCtype& ctype, amc::FFcurs& row) __attribute__((nothrow));
 2253// Empty the index. (The rows are not deleted)
 2254// func:amc.FCtype.c_fcurs.RemoveAll
 2255void                 c_fcurs_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
 2256// Reserve space in index for N more elements;
 2257// func:amc.FCtype.c_fcurs.Reserve
 2258void                 c_fcurs_Reserve(amc::FCtype& ctype, u32 n) __attribute__((nothrow));
 2259// Return reference without bounds checking
 2260// func:amc.FCtype.c_fcurs.qFind
 2261amc::FFcurs&         c_fcurs_qFind(amc::FCtype& ctype, u32 idx) __attribute__((nothrow));
 2262// True if row is in any ptrary instance
 2263// func:amc.FCtype.c_fcurs.InAryQ
 2264bool                 ctype_c_fcurs_InAryQ(amc::FFcurs& row) __attribute__((nothrow));
 2265// Reference to last element without bounds checking
 2266// func:amc.FCtype.c_fcurs.qLast
 2267amc::FFcurs&         c_fcurs_qLast(amc::FCtype& ctype) __attribute__((nothrow));
 2268
 2269// Insert row into pointer index. Return final membership status.
 2270// func:amc.FCtype.c_ctypelen.InsertMaybe
 2271bool                 c_ctypelen_InsertMaybe(amc::FCtype& ctype, amc::FCtypelen& row) __attribute__((nothrow));
 2272// Remove element from index. If element is not in index, do nothing.
 2273// func:amc.FCtype.c_ctypelen.Remove
 2274void                 c_ctypelen_Remove(amc::FCtype& ctype, amc::FCtypelen& row) __attribute__((nothrow));
 2275
 2276// Insert row into pointer index. Return final membership status.
 2277// func:amc.FCtype.c_nossimfile.InsertMaybe
 2278bool                 c_nossimfile_InsertMaybe(amc::FCtype& ctype, amc::FNossimfile& row) __attribute__((nothrow));
 2279// Remove element from index. If element is not in index, do nothing.
 2280// func:amc.FCtype.c_nossimfile.Remove
 2281void                 c_nossimfile_Remove(amc::FCtype& ctype, amc::FNossimfile& row) __attribute__((nothrow));
 2282
 2283// Insert row into pointer index. Return final membership status.
 2284// func:amc.FCtype.c_cfast.InsertMaybe
 2285bool                 c_cfast_InsertMaybe(amc::FCtype& ctype, amc::FCfast& row) __attribute__((nothrow));
 2286// Remove element from index. If element is not in index, do nothing.
 2287// func:amc.FCtype.c_cfast.Remove
 2288void                 c_cfast_Remove(amc::FCtype& ctype, amc::FCfast& row) __attribute__((nothrow));
 2289
 2290// Return true if index is empty
 2291// func:amc.FCtype.c_ffast.EmptyQ
 2292bool                 c_ffast_EmptyQ(amc::FCtype& ctype) __attribute__((nothrow));
 2293// Look up row by row id. Return NULL if out of range
 2294// func:amc.FCtype.c_ffast.Find
 2295amc::FFfast*         c_ffast_Find(amc::FCtype& ctype, u32 t) __attribute__((__warn_unused_result__, nothrow));
 2296// Return array of pointers
 2297// func:amc.FCtype.c_ffast.Getary
 2298algo::aryptr<amc::FFfast*> c_ffast_Getary(amc::FCtype& ctype) __attribute__((nothrow));
 2299// Insert pointer to row into array. Row must not already be in array.
 2300// If pointer is already in the array, it may be inserted twice.
 2301// func:amc.FCtype.c_ffast.Insert
 2302void                 c_ffast_Insert(amc::FCtype& ctype, amc::FFfast& row) __attribute__((nothrow));
 2303// Insert pointer to row in array.
 2304// If row is already in the array, do nothing.
 2305// Return value: whether element was inserted into array.
 2306// func:amc.FCtype.c_ffast.InsertMaybe
 2307bool                 c_ffast_InsertMaybe(amc::FCtype& ctype, amc::FFfast& row) __attribute__((nothrow));
 2308// Return number of items in the pointer array
 2309// func:amc.FCtype.c_ffast.N
 2310i32                  c_ffast_N(const amc::FCtype& ctype) __attribute__((__warn_unused_result__, nothrow, pure));
 2311// Find element using linear scan. If element is in array, remove, otherwise do nothing
 2312// func:amc.FCtype.c_ffast.Remove
 2313void                 c_ffast_Remove(amc::FCtype& ctype, amc::FFfast& row) __attribute__((nothrow));
 2314// Empty the index. (The rows are not deleted)
 2315// func:amc.FCtype.c_ffast.RemoveAll
 2316void                 c_ffast_RemoveAll(amc::FCtype& ctype) __attribute__((nothrow));
 2317// Reserve space in index for N more elements;
 2318// func:amc.FCtype.c_ffast.Reserve
 2319void                 c_ffast_Reserve(amc::FCtype& ctype, u32 n) __attribute__((nothrow));
 2320// Return reference without bounds checking
 2321// func:amc.FCtype.c_ffast.qFind
 2322amc::FFfast&         c_ffast_qFind(amc::FCtype& ctype, u32 idx) __attribute__((nothrow));
 2323// True if row is in any ptrary instance
 2324// func:amc.FCtype.c_ffast.InAryQ
 2325bool                 ctype_c_ffast_InAryQ(amc::FFfast& row) __attribute__((nothrow));
 2326// Reference to last element without bounds checking
 2327// func:amc.FCtype.c_ffast.qLast
 2328amc::FFfast&         c_ffast_qLast(amc::FCtype& ctype) __attribute__((nothrow));
 2329// Verify whether array is sorted
 2330// func:amc.FCtype.c_ffast.SortedQ
 2331bool                 c_ffast_SortedQ(amc::FCtype& ctype) __attribute__((nothrow));
 2332// Insertion sort
 2333// func:amc.FCtype.c_ffast.InsertionSort
 2334void                 c_ffast_InsertionSort(amc::FCtype& ctype) __attribute__((nothrow));
 2335// Heap sort
 2336// func:amc.FCtype.c_ffast.HeapSort
 2337void                 c_ffast_HeapSort(amc::FCtype& ctype) __attribute__((nothrow));
 2338// Quick sort
 2339// func:amc.FCtype.c_ffast.QuickSort
 2340void                 c_ffast_QuickSort(amc::FCtype& ctype) __attribute__((nothrow));
 2341
 2342// cursor points to valid item
 2343// func:amc.FCtype.zs_cfmt_curs.Reset
 2344void                 ctype_zs_cfmt_curs_Reset(ctype_zs_cfmt_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
 2345// cursor points to valid item
 2346// func:amc.FCtype.zs_cfmt_curs.ValidQ
 2347bool                 ctype_zs_cfmt_curs_ValidQ(ctype_zs_cfmt_curs &curs) __attribute__((nothrow));
 2348// proceed to next item
 2349// func:amc.FCtype.zs_cfmt_curs.Next
 2350void                 ctype_zs_cfmt_curs_Next(ctype_zs_cfmt_curs &curs) __attribute__((nothrow));
 2351// item access
 2352// func:amc.FCtype.zs_cfmt_curs.Access
 2353amc::FCfmt&          ctype_zs_cfmt_curs_Access(ctype_zs_cfmt_curs &curs) __attribute__((nothrow));
 2354// func:amc.FCtype.c_field_curs.Reset
 2355void                 ctype_c_field_curs_Reset(ctype_c_field_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
 2356// cursor points to valid item
 2357// func:amc.FCtype.c_field_curs.ValidQ
 2358bool                 ctype_c_field_curs_ValidQ(ctype_c_field_curs &curs) __attribute__((nothrow));
 2359// proceed to next item
 2360// func:amc.FCtype.c_field_curs.Next
 2361void                 ctype_c_field_curs_Next(ctype_c_field_curs &curs) __attribute__((nothrow));
 2362// item access
 2363// func:amc.FCtype.c_field_curs.Access
 2364amc::FField&         ctype_c_field_curs_Access(ctype_c_field_curs &curs) __attribute__((nothrow));
 2365// func:amc.FCtype.c_static_curs.Reset
 2366void                 ctype_c_static_curs_Reset(ctype_c_static_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
 2367// cursor points to valid item
 2368// func:amc.FCtype.c_static_curs.ValidQ
 2369bool                 ctype_c_static_curs_ValidQ(ctype_c_static_curs &curs) __attribute__((nothrow));
 2370// proceed to next item
 2371// func:amc.FCtype.c_static_curs.Next
 2372void                 ctype_c_static_curs_Next(ctype_c_static_curs &curs) __attribute__((nothrow));
 2373// item access
 2374// func:amc.FCtype.c_static_curs.Access
 2375amc::FStatictuple&   ctype_c_static_curs_Access(ctype_c_static_curs &curs) __attribute__((nothrow));
 2376// func:amc.FCtype.c_parent_curs.Reset
 2377void                 ctype_c_parent_curs_Reset(ctype_c_parent_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
 2378// cursor points to valid item
 2379// func:amc.FCtype.c_parent_curs.ValidQ
 2380bool                 ctype_c_parent_curs_ValidQ(ctype_c_parent_curs &curs) __attribute__((nothrow));
 2381// proceed to next item
 2382// func:amc.FCtype.c_parent_curs.Next
 2383void                 ctype_c_parent_curs_Next(ctype_c_parent_curs &curs) __attribute__((nothrow));
 2384// item access
 2385// func:amc.FCtype.c_parent_curs.Access
 2386amc::FCtype&         ctype_c_parent_curs_Access(ctype_c_parent_curs &curs) __attribute__((nothrow));
 2387// func:amc.FCtype.c_pmaskfld_curs.Reset
 2388void                 ctype_c_pmaskfld_curs_Reset(ctype_c_pmaskfld_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
 2389// cursor points to valid item
 2390// func:amc.FCtype.c_pmaskfld_curs.ValidQ
 2391bool                 ctype_c_pmaskfld_curs_ValidQ(ctype_c_pmaskfld_curs &curs) __attribute__((nothrow));
 2392// proceed to next item
 2393// func:amc.FCtype.c_pmaskfld_curs.Next
 2394void                 ctype_c_pmaskfld_curs_Next(ctype_c_pmaskfld_curs &curs) __attribute__((nothrow));
 2395// item access
 2396// func:amc.FCtype.c_pmaskfld_curs.Access
 2397amc::FPmaskfld&      ctype_c_pmaskfld_curs_Access(ctype_c_pmaskfld_curs &curs) __attribute__((nothrow));
 2398// func:amc.FCtype.c_datafld_curs.Reset
 2399void                 ctype_c_datafld_curs_Reset(ctype_c_datafld_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
 2400// cursor points to valid item
 2401// func:amc.FCtype.c_datafld_curs.ValidQ
 2402bool                 ctype_c_datafld_curs_ValidQ(ctype_c_datafld_curs &curs) __attribute__((nothrow));
 2403// proceed to next item
 2404// func:amc.FCtype.c_datafld_curs.Next
 2405void                 ctype_c_datafld_curs_Next(ctype_c_datafld_curs &curs) __attribute__((nothrow));
 2406// item access
 2407// func:amc.FCtype.c_datafld_curs.Access
 2408amc::FField&         ctype_c_datafld_curs_Access(ctype_c_datafld_curs &curs) __attribute__((nothrow));
 2409// cursor points to valid item
 2410// func:amc.FCtype.zd_inst_curs.Reset
 2411void                 ctype_zd_inst_curs_Reset(ctype_zd_inst_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
 2412// cursor points to valid item
 2413// func:amc.FCtype.zd_inst_curs.ValidQ
 2414bool                 ctype_zd_inst_curs_ValidQ(ctype_zd_inst_curs &curs) __attribute__((nothrow));
 2415// proceed to next item
 2416// func:amc.FCtype.zd_inst_curs.Next
 2417void                 ctype_zd_inst_curs_Next(ctype_zd_inst_curs &curs) __attribute__((nothrow));
 2418// item access
 2419// func:amc.FCtype.zd_inst_curs.Access
 2420amc::FField&         ctype_zd_inst_curs_Access(ctype_zd_inst_curs &curs) __attribute__((nothrow));
 2421// cursor points to valid item
 2422// func:amc.FCtype.zs_xref_curs.Reset
 2423void                 ctype_zs_xref_curs_Reset(ctype_zs_xref_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
 2424// cursor points to valid item
 2425// func:amc.FCtype.zs_xref_curs.ValidQ
 2426bool                 ctype_zs_xref_curs_ValidQ(ctype_zs_xref_curs &curs) __attribute__((nothrow));
 2427// proceed to next item
 2428// func:amc.FCtype.zs_xref_curs.Next
 2429void                 ctype_zs_xref_curs_Next(ctype_zs_xref_curs &curs) __attribute__((nothrow));
 2430// item access
 2431// func:amc.FCtype.zs_xref_curs.Access
 2432amc::FXref&          ctype_zs_xref_curs_Access(ctype_zs_xref_curs &curs) __attribute__((nothrow));
 2433// func:amc.FCtype.c_ffunc_curs.Reset
 2434void                 ctype_c_ffunc_curs_Reset(ctype_c_ffunc_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
 2435// cursor points to valid item
 2436// func:amc.FCtype.c_ffunc_curs.ValidQ
 2437bool                 ctype_c_ffunc_curs_ValidQ(ctype_c_ffunc_curs &curs) __attribute__((nothrow));
 2438// proceed to next item
 2439// func:amc.FCtype.c_ffunc_curs.Next
 2440void                 ctype_c_ffunc_curs_Next(ctype_c_ffunc_curs &curs) __attribute__((nothrow));
 2441// item access
 2442// func:amc.FCtype.c_ffunc_curs.Access
 2443amc::FFunc&          ctype_c_ffunc_curs_Access(ctype_c_ffunc_curs &curs) __attribute__((nothrow));
 2444// cursor points to valid item
 2445// func:amc.FCtype.zd_cafter_curs.Reset
 2446void                 ctype_zd_cafter_curs_Reset(ctype_zd_cafter_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
 2447// cursor points to valid item
 2448// func:amc.FCtype.zd_cafter_curs.ValidQ
 2449bool                 ctype_zd_cafter_curs_ValidQ(ctype_zd_cafter_curs &curs) __attribute__((nothrow));
 2450// proceed to next item
 2451// func:amc.FCtype.zd_cafter_curs.Next
 2452void                 ctype_zd_cafter_curs_Next(ctype_zd_cafter_curs &curs) __attribute__((nothrow));
 2453// item access
 2454// func:amc.FCtype.zd_cafter_curs.Access
 2455amc::FCafter&        ctype_zd_cafter_curs_Access(ctype_zd_cafter_curs &curs) __attribute__((nothrow));
 2456// cursor points to valid item
 2457// func:amc.FCtype.zd_access_curs.Reset
 2458void                 ctype_zd_access_curs_Reset(ctype_zd_access_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
 2459// cursor points to valid item
 2460// func:amc.FCtype.zd_access_curs.ValidQ
 2461bool                 ctype_zd_access_curs_ValidQ(ctype_zd_access_curs &curs) __attribute__((nothrow));
 2462// proceed to next item
 2463// func:amc.FCtype.zd_access_curs.Next
 2464void                 ctype_zd_access_curs_Next(ctype_zd_access_curs &curs) __attribute__((nothrow));
 2465// item access
 2466// func:amc.FCtype.zd_access_curs.Access
 2467amc::FField&         ctype_zd_access_curs_Access(ctype_zd_access_curs &curs) __attribute__((nothrow));
 2468// func:amc.FCtype.c_fcurs_curs.Reset
 2469void                 ctype_c_fcurs_curs_Reset(ctype_c_fcurs_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
 2470// cursor points to valid item
 2471// func:amc.FCtype.c_fcurs_curs.ValidQ
 2472bool                 ctype_c_fcurs_curs_ValidQ(ctype_c_fcurs_curs &curs) __attribute__((nothrow));
 2473// proceed to next item
 2474// func:amc.FCtype.c_fcurs_curs.Next
 2475void                 ctype_c_fcurs_curs_Next(ctype_c_fcurs_curs &curs) __attribute__((nothrow));
 2476// item access
 2477// func:amc.FCtype.c_fcurs_curs.Access
 2478amc::FFcurs&         ctype_c_fcurs_curs_Access(ctype_c_fcurs_curs &curs) __attribute__((nothrow));
 2479// func:amc.FCtype.c_ffast_curs.Reset
 2480void                 ctype_c_ffast_curs_Reset(ctype_c_ffast_curs &curs, amc::FCtype &parent) __attribute__((nothrow));
 2481// cursor points to valid item
 2482// func:amc.FCtype.c_ffast_curs.ValidQ
 2483bool                 ctype_c_ffast_curs_ValidQ(ctype_c_ffast_curs &curs) __attribute__((nothrow));
 2484// proceed to next item
 2485// func:amc.FCtype.c_ffast_curs.Next
 2486void                 ctype_c_ffast_curs_Next(ctype_c_ffast_curs &curs) __attribute__((nothrow));
 2487// item access
 2488// func:amc.FCtype.c_ffast_curs.Access
 2489amc::FFfast&         ctype_c_ffast_curs_Access(ctype_c_ffast_curs &curs) __attribute__((nothrow));
 2490// Set all fields to initial values.
 2491// func:amc.FCtype..Init
 2492void                 FCtype_Init(amc::FCtype& ctype);
 2493// func:amc.FCtype..Uninit
 2494void                 FCtype_Uninit(amc::FCtype& ctype) __attribute__((nothrow));
 2495
 2496// --- amc.FCtypelen
 2497// create: amc.FDb.ctypelen (Lary)
 2498// global access: c_ctypelen (Ptrary)
 2499// access: amc.FCtype.c_ctypelen (Ptr)
 2500struct FCtypelen { // amc.FCtypelen
 2501    algo::Smallstr100   ctype;                   // Identifies the Ctype
 2502    u32                 len;                     //   0
 2503    i32                 alignment;               //   0
 2504    i32                 padbytes;                //   0
 2505    bool                plaindata;               //   false
 2506    bool                _db_c_ctypelen_in_ary;   //   false  membership flag
 2507private:
 2508    friend amc::FCtypelen&      ctypelen_Alloc() __attribute__((__warn_unused_result__, nothrow));
 2509    friend amc::FCtypelen*      ctypelen_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 2510    friend void                 ctypelen_RemoveAll() __attribute__((nothrow));
 2511    friend void                 ctypelen_RemoveLast() __attribute__((nothrow));
 2512    FCtypelen();
 2513    ~FCtypelen();
 2514    FCtypelen(const FCtypelen&){ /*disallow copy constructor */}
 2515    void operator =(const FCtypelen&){ /*disallow direct assignment */}
 2516};
 2517
 2518// Copy fields out of row
 2519// func:amc.FCtypelen.base.CopyOut
 2520void                 ctypelen_CopyOut(amc::FCtypelen &row, dmmeta::Ctypelen &out) __attribute__((nothrow));
 2521// Copy fields in to row
 2522// func:amc.FCtypelen.base.CopyIn
 2523void                 ctypelen_CopyIn(amc::FCtypelen &row, dmmeta::Ctypelen &in) __attribute__((nothrow));
 2524
 2525// Set all fields to initial values.
 2526// func:amc.FCtypelen..Init
 2527void                 FCtypelen_Init(amc::FCtypelen& ctypelen);
 2528// func:amc.FCtypelen..Uninit
 2529void                 FCtypelen_Uninit(amc::FCtypelen& ctypelen) __attribute__((nothrow));
 2530
 2531// --- amc.Genctx
 2532struct Genctx { // amc.Genctx
 2533    algo_lib::Replscope   R;         //
 2534    amc::FNs*             p_ns;      // reference to parent row
 2535    amc::FCtype*          p_ctype;   // reference to parent row
 2536    amc::FField*          p_field;   // reference to parent row
 2537    amc::FTfunc*          p_tfunc;   // reference to parent row
 2538    Genctx();
 2539private:
 2540    // value field amc.Genctx.R is not copiable
 2541    Genctx(const Genctx&){ /*disallow copy constructor */}
 2542    void operator =(const Genctx&){ /*disallow direct assignment */}
 2543};
 2544
 2545// Set all fields to initial values.
 2546// func:amc.Genctx..Init
 2547void                 Genctx_Init(amc::Genctx& parent);
 2548
 2549// --- amc.FTclass
 2550// create: amc.FDb.tclass (Inlary)
 2551// global access: ind_tclass (Thash)
 2552// access: amc.FReftype.p_tclass (Upptr)
 2553struct FTclass { // amc.FTclass
 2554    algo::Smallstr50        tclass;            //
 2555    amc::FTfunc**           c_tfunc_elems;     // array of pointers
 2556    u32                     c_tfunc_n;         // array of pointers
 2557    u32                     c_tfunc_max;       // capacity of allocated array
 2558    amc::tclass_step_hook   step;              //   NULL  Pointer to a function
 2559    amc::FTclass*           ind_tclass_next;   // hash next
 2560    FTclass();
 2561    ~FTclass();
 2562private:
 2563    FTclass(const FTclass&){ /*disallow copy constructor */}
 2564    void operator =(const FTclass&){ /*disallow direct assignment */}
 2565};
 2566
 2567// Copy fields out of row
 2568// func:amc.FTclass.msghdr.CopyOut
 2569void                 tclass_CopyOut(amc::FTclass &row, amcdb::Tclass &out) __attribute__((nothrow));
 2570// Copy fields in to row
 2571// func:amc.FTclass.msghdr.CopyIn
 2572void                 tclass_CopyIn(amc::FTclass &row, amcdb::Tclass &in) __attribute__((nothrow));
 2573
 2574// Return true if index is empty
 2575// func:amc.FTclass.c_tfunc.EmptyQ
 2576bool                 c_tfunc_EmptyQ(amc::FTclass& tclass) __attribute__((nothrow));
 2577// Look up row by row id. Return NULL if out of range
 2578// func:amc.FTclass.c_tfunc.Find
 2579amc::FTfunc*         c_tfunc_Find(amc::FTclass& tclass, u32 t) __attribute__((__warn_unused_result__, nothrow));
 2580// Return array of pointers
 2581// func:amc.FTclass.c_tfunc.Getary
 2582algo::aryptr<amc::FTfunc*> c_tfunc_Getary(amc::FTclass& tclass) __attribute__((nothrow));
 2583// Insert pointer to row into array. Row must not already be in array.
 2584// If pointer is already in the array, it may be inserted twice.
 2585// func:amc.FTclass.c_tfunc.Insert
 2586void                 c_tfunc_Insert(amc::FTclass& tclass, amc::FTfunc& row) __attribute__((nothrow));
 2587// Insert pointer to row in array.
 2588// If row is already in the array, do nothing.
 2589// Return value: whether element was inserted into array.
 2590// func:amc.FTclass.c_tfunc.InsertMaybe
 2591bool                 c_tfunc_InsertMaybe(amc::FTclass& tclass, amc::FTfunc& row) __attribute__((nothrow));
 2592// Return number of items in the pointer array
 2593// func:amc.FTclass.c_tfunc.N
 2594i32                  c_tfunc_N(const amc::FTclass& tclass) __attribute__((__warn_unused_result__, nothrow, pure));
 2595// Find element using linear scan. If element is in array, remove, otherwise do nothing
 2596// func:amc.FTclass.c_tfunc.Remove
 2597void                 c_tfunc_Remove(amc::FTclass& tclass, amc::FTfunc& row) __attribute__((nothrow));
 2598// Empty the index. (The rows are not deleted)
 2599// func:amc.FTclass.c_tfunc.RemoveAll
 2600void                 c_tfunc_RemoveAll(amc::FTclass& tclass) __attribute__((nothrow));
 2601// Reserve space in index for N more elements;
 2602// func:amc.FTclass.c_tfunc.Reserve
 2603void                 c_tfunc_Reserve(amc::FTclass& tclass, u32 n) __attribute__((nothrow));
 2604// Return reference without bounds checking
 2605// func:amc.FTclass.c_tfunc.qFind
 2606amc::FTfunc&         c_tfunc_qFind(amc::FTclass& tclass, u32 idx) __attribute__((nothrow));
 2607// True if row is in any ptrary instance
 2608// func:amc.FTclass.c_tfunc.InAryQ
 2609bool                 tclass_c_tfunc_InAryQ(amc::FTfunc& row) __attribute__((nothrow));
 2610// Reference to last element without bounds checking
 2611// func:amc.FTclass.c_tfunc.qLast
 2612amc::FTfunc&         c_tfunc_qLast(amc::FTclass& tclass) __attribute__((nothrow));
 2613
 2614// Invoke function by pointer
 2615// func:amc.FTclass.step.Call
 2616void                 step_Call(amc::FTclass& tclass) __attribute__((nothrow));
 2617
 2618// func:amc.FTclass.c_tfunc_curs.Reset
 2619void                 tclass_c_tfunc_curs_Reset(tclass_c_tfunc_curs &curs, amc::FTclass &parent) __attribute__((nothrow));
 2620// cursor points to valid item
 2621// func:amc.FTclass.c_tfunc_curs.ValidQ
 2622bool                 tclass_c_tfunc_curs_ValidQ(tclass_c_tfunc_curs &curs) __attribute__((nothrow));
 2623// proceed to next item
 2624// func:amc.FTclass.c_tfunc_curs.Next
 2625void                 tclass_c_tfunc_curs_Next(tclass_c_tfunc_curs &curs) __attribute__((nothrow));
 2626// item access
 2627// func:amc.FTclass.c_tfunc_curs.Access
 2628amc::FTfunc&         tclass_c_tfunc_curs_Access(tclass_c_tfunc_curs &curs) __attribute__((nothrow));
 2629// Set all fields to initial values.
 2630// func:amc.FTclass..Init
 2631void                 FTclass_Init(amc::FTclass& tclass);
 2632// func:amc.FTclass..Uninit
 2633void                 FTclass_Uninit(amc::FTclass& tclass) __attribute__((nothrow));
 2634
 2635// --- amc.trace
 2636#pragma pack(push,1)
 2637struct trace { // amc.trace
 2638    trace();
 2639};
 2640#pragma pack(pop)
 2641
 2642// print string representation of ROW to string STR
 2643// cfmt:amc.trace.String  printfmt:Tuple
 2644// func:amc.trace..Print
 2645void                 trace_Print(amc::trace& row, algo::cstring& str) __attribute__((nothrow));
 2646
 2647// --- amc.FDb
 2648// create: amc.FDb._db (Global)
 2649struct FDb { // amc.FDb: In-memory database for amc
 2650    lpool_Lpblock*          lpool_free[36];                           // Lpool levels
 2651    amc::FFsort*            fsort_lary[32];                           // level array
 2652    i32                     fsort_n;                                  // number of elements in array
 2653    amc::FCfmt**            ind_cfmt_buckets_elems;                   // pointer to bucket array
 2654    i32                     ind_cfmt_buckets_n;                       // number of elements in bucket array
 2655    i32                     ind_cfmt_n;                               // number of elements in the hash table
 2656    amc::FDispfilter*       dispfilter_lary[32];                      // level array
 2657    i32                     dispfilter_n;                             // number of elements in array
 2658    amc::FUsertracefld*     usertracefld_lary[32];                    // level array
 2659    i32                     usertracefld_n;                           // number of elements in array
 2660    amc::FCfmt*             cfmt_lary[32];                            // level array
 2661    i32                     cfmt_n;                                   // number of elements in array
 2662    command::amc            cmdline;                                  //
 2663    amc::FDispatch*         dispatch_lary[32];                        // level array
 2664    i32                     dispatch_n;                               // number of elements in array
 2665    amc::FDispatchmsg*      dispatch_msg_lary[32];                    // level array
 2666    i32                     dispatch_msg_n;                           // number of elements in array
 2667    amc::FCtype*            ctype_lary[32];                           // level array
 2668    i32                     ctype_n;                                  // number of elements in array
 2669    amc::FField*            field_lary[32];                           // level array
 2670    i32                     field_n;                                  // number of elements in array
 2671    amc::FBasepool*         basepool_lary[32];                        // level array
 2672    i32                     basepool_n;                               // number of elements in array
 2673    amc::FLlist*            llist_lary[32];                           // level array
 2674    i32                     llist_n;                                  // number of elements in array
 2675    amc::FAnonfld*          anonfld_lary[32];                         // level array
 2676    i32                     anonfld_n;                                // number of elements in array
 2677    amc::FXref*             xref_lary[32];                            // level array
 2678    i32                     xref_n;                                   // number of elements in array
 2679    amc::FNs*               ns_lary[32];                              // level array
 2680    i32                     ns_n;                                     // number of elements in array
 2681    amc::FPnew*             pnew_lary[32];                            // level array
 2682    i32                     pnew_n;                                   // number of elements in array
 2683    amc::FFldoffset*        fldoffset_lary[32];                       // level array
 2684    i32                     fldoffset_n;                              // number of elements in array
 2685    amc::FTypefld*          typefld_lary[32];                         // level array
 2686    i32                     typefld_n;                                // number of elements in array
 2687    amc::FLenfld*           lenfld_lary[32];                          // level array
 2688    i32                     lenfld_n;                                 // number of elements in array
 2689    amc::FBltin*            bltin_lary[32];                           // level array
 2690    i32                     bltin_n;                                  // number of elements in array
 2691    amc::FStatictuple*      static_tuple_lary[32];                    // level array
 2692    i32                     static_tuple_n;                           // number of elements in array
 2693    amc::FMsgtype*          msgtype_lary[32];                         // level array
 2694    i32                     msgtype_n;                                // number of elements in array
 2695    amc::FGconst*           gconst_lary[32];                          // level array
 2696    i32                     gconst_n;                                 // number of elements in array
 2697    amc::FGstatic*          gstatic_lary[32];                         // level array
 2698    i32                     gstatic_n;                                // number of elements in array
 2699    amc::FThash*            thash_lary[32];                           // level array
 2700    i32                     thash_n;                                  // number of elements in array
 2701    u64                     outfile_blocksize;                        // # bytes per block
 2702    amc::FOutfile*          outfile_free;                             //
 2703    amc::FFunc*             func_lary[32];                            // level array
 2704    i32                     func_n;                                   // number of elements in array
 2705    amc::FSmallstr*         smallstr_lary[32];                        // level array
 2706    i32                     smallstr_n;                               // number of elements in array
 2707    amc::FNumstr*           numstr_lary[32];                          // level array
 2708    i32                     numstr_n;                                 // number of elements in array
 2709    amc::FMain*             main_lary[32];                            // level array
 2710    i32                     main_n;                                   // number of elements in array
 2711    amc::FReftype*          reftype_lary[32];                         // level array
 2712    i32                     reftype_n;                                // number of elements in array
 2713    amc::FBltin**           ind_bltin_buckets_elems;                  // pointer to bucket array
 2714    i32                     ind_bltin_buckets_n;                      // number of elements in bucket array
 2715    i32                     ind_bltin_n;                              // number of elements in the hash table
 2716    amc::FCtype**           ind_ctype_buckets_elems;                  // pointer to bucket array
 2717    i32                     ind_ctype_buckets_n;                      // number of elements in bucket array
 2718    i32                     ind_ctype_n;                              // number of elements in the hash table
 2719    amc::FDispatch**        ind_dispatch_buckets_elems;               // pointer to bucket array
 2720    i32                     ind_dispatch_buckets_n;                   // number of elements in bucket array
 2721    i32                     ind_dispatch_n;                           // number of elements in the hash table
 2722    amc::FFunc**            ind_func_buckets_elems;                   // pointer to bucket array
 2723    i32                     ind_func_buckets_n;                       // number of elements in bucket array
 2724    i32                     ind_func_n;                               // number of elements in the hash table
 2725    amc::FField**           ind_field_buckets_elems;                  // pointer to bucket array
 2726    i32                     ind_field_buckets_n;                      // number of elements in bucket array
 2727    i32                     ind_field_n;                              // number of elements in the hash table
 2728    amc::FNs**              ind_ns_buckets_elems;                     // pointer to bucket array
 2729    i32                     ind_ns_buckets_n;                         // number of elements in bucket array
 2730    i32                     ind_ns_n;                                 // number of elements in the hash table
 2731    amc::FPnew**            ind_pnew_buckets_elems;                   // pointer to bucket array
 2732    i32                     ind_pnew_buckets_n;                       // number of elements in bucket array
 2733    i32                     ind_pnew_n;                               // number of elements in the hash table
 2734    amc::FXref**            ind_xref_buckets_elems;                   // pointer to bucket array
 2735    i32                     ind_xref_buckets_n;                       // number of elements in bucket array
 2736    i32                     ind_xref_n;                               // number of elements in the hash table
 2737    amc::FCpptype*          cpptype_lary[32];                         // level array
 2738    i32                     cpptype_n;                                // number of elements in array
 2739    amc::FCpptype**         ind_cpptype_buckets_elems;                // pointer to bucket array
 2740    i32                     ind_cpptype_buckets_n;                    // number of elements in bucket array
 2741    i32                     ind_cpptype_n;                            // number of elements in the hash table
 2742    amc::FInlary*           inlary_lary[32];                          // level array
 2743    i32                     inlary_n;                                 // number of elements in array
 2744    amc::FInlary**          ind_inlary_buckets_elems;                 // pointer to bucket array
 2745    i32                     ind_inlary_buckets_n;                     // number of elements in bucket array
 2746    i32                     ind_inlary_n;                             // number of elements in the hash table
 2747    amc::FTary*             tary_lary[32];                            // level array
 2748    i32                     tary_n;                                   // number of elements in array
 2749    amc::FTary**            ind_tary_buckets_elems;                   // pointer to bucket array
 2750    i32                     ind_tary_buckets_n;                       // number of elements in bucket array
 2751    i32                     ind_tary_n;                               // number of elements in the hash table
 2752    amc::FCppfunc*          cppfunc_lary[32];                         // level array
 2753    i32                     cppfunc_n;                                // number of elements in array
 2754    amc::FRowid*            rowid_lary[32];                           // level array
 2755    i32                     rowid_n;                                  // number of elements in array
 2756    amc::FRowid**           ind_rowid_buckets_elems;                  // pointer to bucket array
 2757    i32                     ind_rowid_buckets_n;                      // number of elements in bucket array
 2758    i32                     ind_rowid_n;                              // number of elements in the hash table
 2759    amc::FCascdel*          cascdel_lary[32];                         // level array
 2760    i32                     cascdel_n;                                // number of elements in array
 2761    amc::FSubstr*           substr_lary[32];                          // level array
 2762    i32                     substr_n;                                 // number of elements in array
 2763    amc::FBitfld*           bitfld_lary[32];                          // level array
 2764    i32                     bitfld_n;                                 // number of elements in array
 2765    amc::FSsimfile*         ssimfile_lary[32];                        // level array
 2766    i32                     ssimfile_n;                               // number of elements in array
 2767    amc::FSsimfile**        ind_ssimfile_buckets_elems;               // pointer to bucket array
 2768    i32                     ind_ssimfile_buckets_n;                   // number of elements in bucket array
 2769    i32                     ind_ssimfile_n;                           // number of elements in the hash table
 2770    amc::FPack*             pack_lary[32];                            // level array
 2771    i32                     pack_n;                                   // number of elements in array
 2772    amc::FPack**            ind_pack_buckets_elems;                   // pointer to bucket array
 2773    i32                     ind_pack_buckets_n;                       // number of elements in bucket array
 2774    i32                     ind_pack_n;                               // number of elements in the hash table
 2775    amc::FSmallstr**        ind_smallstr_buckets_elems;               // pointer to bucket array
 2776    i32                     ind_smallstr_buckets_n;                   // number of elements in bucket array
 2777    i32                     ind_smallstr_n;                           // number of elements in the hash table
 2778    amc::FPtrary*           ptrary_lary[32];                          // level array
 2779    i32                     ptrary_n;                                 // number of elements in array
 2780    amc::FCtype**           c_ctype_sorted_elems;                     // array of pointers
 2781    u32                     c_ctype_sorted_n;                         // array of pointers
 2782    u32                     c_ctype_sorted_max;                       // capacity of allocated array
 2783    amc::FEnumstr*          enumstr_lary[32];                         // level array
 2784    i32                     enumstr_n;                                // number of elements in array
 2785    amc::FEnumstrLen*       enumstr_len_lary[32];                     // level array
 2786    i32                     enumstr_len_n;                            // number of elements in array
 2787    amc::FEnumstrLen**      bh_enumstr_len_elems;                     // binary heap by len
 2788    i32                     bh_enumstr_len_n;                         // number of elements in the heap
 2789    i32                     bh_enumstr_len_max;                       // max elements in bh_enumstr_len_elems
 2790    amc::FEnumstrLen**      ind_enumstr_len_buckets_elems;            // pointer to bucket array
 2791    i32                     ind_enumstr_len_buckets_n;                // number of elements in bucket array
 2792    i32                     ind_enumstr_len_n;                        // number of elements in the hash table
 2793    amc::FEnumstr**         ind_enumstr_buckets_elems;                // pointer to bucket array
 2794    i32                     ind_enumstr_buckets_n;                    // number of elements in bucket array
 2795    i32                     ind_enumstr_n;                            // number of elements in the hash table
 2796    amc::FFbitset*          fbitset_lary[32];                         // level array
 2797    i32                     fbitset_n;                                // number of elements in array
 2798    amc::FFbitset**         ind_fbitset_buckets_elems;                // pointer to bucket array
 2799    i32                     ind_fbitset_buckets_n;                    // number of elements in bucket array
 2800    i32                     ind_fbitset_n;                            // number of elements in the hash table
 2801    amc::FFcleanup*         fcleanup_lary[32];                        // level array
 2802    i32                     fcleanup_n;                               // number of elements in array
 2803    amc::FFdec*             fdec_lary[32];                            // level array
 2804    i32                     fdec_n;                                   // number of elements in array
 2805    amc::FFdec**            ind_fdec_buckets_elems;                   // pointer to bucket array
 2806    i32                     ind_fdec_buckets_n;                       // number of elements in bucket array
 2807    i32                     ind_fdec_n;                               // number of elements in the hash table
 2808    amc::FReftype**         ind_reftype_buckets_elems;                // pointer to bucket array
 2809    i32                     ind_reftype_buckets_n;                    // number of elements in bucket array
 2810    i32                     ind_reftype_n;                            // number of elements in the hash table
 2811    amc::FFconst*           fconst_lary[32];                          // level array
 2812    i32                     fconst_n;                                 // number of elements in array
 2813    amc::FFconst**          ind_fconst_buckets_elems;                 // pointer to bucket array
 2814    i32                     ind_fconst_buckets_n;                     // number of elements in bucket array
 2815    i32                     ind_fconst_n;                             // number of elements in the hash table
 2816    amc::FNs**              c_ns_sorted_elems;                        // array of pointers
 2817    u32                     c_ns_sorted_n;                            // array of pointers
 2818    u32                     c_ns_sorted_max;                          // capacity of allocated array
 2819    amc::FFinput*           finput_lary[32];                          // level array
 2820    i32                     finput_n;                                 // number of elements in array
 2821    amc::FFoutput*          foutput_lary[32];                         // level array
 2822    i32                     foutput_n;                                // number of elements in array
 2823    amc::FFbuf*             fbuf_lary[32];                            // level array
 2824    i32                     fbuf_n;                                   // number of elements in array
 2825    amc::FFbuf**            ind_fbuf_buckets_elems;                   // pointer to bucket array
 2826    i32                     ind_fbuf_buckets_n;                       // number of elements in bucket array
 2827    i32                     ind_fbuf_n;                               // number of elements in the hash table
 2828    amc::FChash*            chash_lary[32];                           // level array
 2829    i32                     chash_n;                                  // number of elements in array
 2830    amc::FChash**           ind_chash_buckets_elems;                  // pointer to bucket array
 2831    i32                     ind_chash_buckets_n;                      // number of elements in bucket array
 2832    i32                     ind_chash_n;                              // number of elements in the hash table
 2833    amc::FCcmp*             ccmp_lary[32];                            // level array
 2834    i32                     ccmp_n;                                   // number of elements in array
 2835    amc::FCcmp**            ind_ccmp_buckets_elems;                   // pointer to bucket array
 2836    i32                     ind_ccmp_buckets_n;                       // number of elements in bucket array
 2837    i32                     ind_ccmp_n;                               // number of elements in the hash table
 2838    amc::FFbigend*          fbigend_lary[32];                         // level array
 2839    i32                     fbigend_n;                                // number of elements in array
 2840    amc::FCtype*            zsl_ctype_pack_tran_head;                 // zero-terminated singly linked list
 2841    amc::FCstr*             cstr_lary[32];                            // level array
 2842    i32                     cstr_n;                                   // number of elements in array
 2843    amc::FListtype*         listtype_lary[32];                        // level array
 2844    i32                     listtype_n;                               // number of elements in array
 2845    amc::FListtype**        ind_listtype_buckets_elems;               // pointer to bucket array
 2846    i32                     ind_listtype_buckets_n;                   // number of elements in bucket array
 2847    i32                     ind_listtype_n;                           // number of elements in the hash table
 2848    amc::FFstep*            fstep_lary[32];                           // level array
 2849    i32                     fstep_n;                                  // number of elements in array
 2850    amc::FCextern*          cextern_lary[32];                         // level array
 2851    i32                     cextern_n;                                // number of elements in array
 2852    amc::FFdelay*           fdelay_lary[32];                          // level array
 2853    i32                     fdelay_n;                                 // number of elements in array
 2854    amc::FDisptrace*        disptrace_lary[32];                       // level array
 2855    i32                     disptrace_n;                              // number of elements in array
 2856    amc::FFstep**           ind_fstep_buckets_elems;                  // pointer to bucket array
 2857    i32                     ind_fstep_buckets_n;                      // number of elements in bucket array
 2858    i32                     ind_fstep_n;                              // number of elements in the hash table
 2859    amc::FTracefld*         tracefld_lary[32];                        // level array
 2860    i32                     tracefld_n;                               // number of elements in array
 2861    amc::FTracerec*         tracerec_lary[32];                        // level array
 2862    i32                     tracerec_n;                               // number of elements in array
 2863    amc::FDispsig*          dispsig_lary[32];                         // level array
 2864    i32                     dispsig_n;                                // number of elements in array
 2865    amc::FDispsig**         c_dispsig_sorted_elems;                   // array of pointers
 2866    u32                     c_dispsig_sorted_n;                       // array of pointers
 2867    u32                     c_dispsig_sorted_max;                     // capacity of allocated array
 2868    amc::FCtype*            zs_sig_visit_head;                        // zero-terminated singly linked list
 2869    amc::FCtype*            zs_sig_visit_tail;                        // pointer to last element
 2870    amc::FTarget*           target_lary[32];                          // level array
 2871    i32                     target_n;                                 // number of elements in array
 2872    amc::FTarget**          ind_target_buckets_elems;                 // pointer to bucket array
 2873    i32                     ind_target_buckets_n;                     // number of elements in bucket array
 2874    i32                     ind_target_n;                             // number of elements in the hash table
 2875    amc::FTargdep*          targdep_lary[32];                         // level array
 2876    i32                     targdep_n;                                // number of elements in array
 2877    amc::FField*            c_malloc;                                 // optional pointer
 2878    amc::FDispctx*          dispctx_lary[32];                         // level array
 2879    i32                     dispctx_n;                                // number of elements in array
 2880    amc::FPmaskfld*         pmaskfld_lary[32];                        // level array
 2881    i32                     pmaskfld_n;                               // number of elements in array
 2882    amc::Genctx             genctx;                                   //
 2883    amc::FFwddecl*          fwddecl_lary[32];                         // level array
 2884    i32                     fwddecl_n;                                // number of elements in array
 2885    amc::FFwddecl**         ind_fwddecl_buckets_elems;                // pointer to bucket array
 2886    i32                     ind_fwddecl_buckets_n;                    // number of elements in bucket array
 2887    i32                     ind_fwddecl_n;                            // number of elements in the hash table
 2888    amc::FTfunc*            tfunc_lary[32];                           // level array
 2889    i32                     tfunc_n;                                  // number of elements in array
 2890    amc::FTfunc**           ind_tfunc_buckets_elems;                  // pointer to bucket array
 2891    i32                     ind_tfunc_buckets_n;                      // number of elements in bucket array
 2892    i32                     ind_tfunc_n;                              // number of elements in the hash table
 2893    amc::FGen*              gen_lary[32];                             // level array
 2894    i32                     gen_n;                                    // number of elements in array
 2895    amc::FNs*               c_curns;                                  // optional pointer
 2896    amc::FFregx*            fregx_lary[32];                           // level array
 2897    i32                     fregx_n;                                  // number of elements in array
 2898    u128                    tclass_data[sizeu128(amc::FTclass,51)];   // place for data
 2899    i32                     tclass_n;                                 // number of elems current in existence
 2900    enum { tclass_max = 51 };
 2901    amc::FTclass**          ind_tclass_buckets_elems;                 // pointer to bucket array
 2902    i32                     ind_tclass_buckets_n;                     // number of elements in bucket array
 2903    i32                     ind_tclass_n;                             // number of elements in the hash table
 2904    amc::FFcmp*             fcmp_lary[32];                            // level array
 2905    i32                     fcmp_n;                                   // number of elements in array
 2906    amc::FFcast*            fcast_lary[32];                           // level array
 2907    i32                     fcast_n;                                  // number of elements in array
 2908    amc::FNoxref*           noxref_lary[32];                          // level array
 2909    i32                     noxref_n;                                 // number of elements in array
 2910    amc::FNocascdel*        nocascdel_lary[32];                       // level array
 2911    i32                     nocascdel_n;                              // number of elements in array
 2912    amc::FCafter*           cafter_lary[32];                          // level array
 2913    i32                     cafter_n;                                 // number of elements in array
 2914    amc::FCsize*            csize_lary[32];                           // level array
 2915    i32                     csize_n;                                  // number of elements in array
 2916    amc::FNsx*              nsx_lary[32];                             // level array
 2917    i32                     nsx_n;                                    // number of elements in array
 2918    report::amc             report;                                   // Final report
 2919    amc::FFcompact*         fcompact_lary[32];                        // level array
 2920    i32                     fcompact_n;                               // number of elements in array
 2921    amc::FFindrem*          findrem_lary[32];                         // level array
 2922    i32                     findrem_n;                                // number of elements in array
 2923    amc::FFcurs*            fcurs_lary[32];                           // level array
 2924    i32                     fcurs_n;                                  // number of elements in array
 2925    amc::FCdflt*            cdflt_lary[32];                           // level array
 2926    i32                     cdflt_n;                                  // number of elements in array
 2927    amc::FArgvtype*         argvtype_lary[32];                        // level array
 2928    i32                     argvtype_n;                               // number of elements in array
 2929    amc::FFcmdline*         fcmdline_lary[32];                        // level array
 2930    i32                     fcmdline_n;                               // number of elements in array
 2931    amc::FMain**            ind_main_buckets_elems;                   // pointer to bucket array
 2932    i32                     ind_main_buckets_n;                       // number of elements in bucket array
 2933    i32                     ind_main_n;                               // number of elements in the hash table
 2934    amc::FFloadtuples*      floadtuples_lary[32];                     // level array
 2935    i32                     floadtuples_n;                            // number of elements in array
 2936    amc::FFcmap*            fcmap_lary[32];                           // level array
 2937    i32                     fcmap_n;                                  // number of elements in array
 2938    u32                     lim_ind_func;                             //   0  Limit for ind_func table, used to enforce function creation
 2939    amc::FField*            zs_ordkeyfield_head;                      // zero-terminated singly linked list
 2940    amc::FField*            zs_ordkeyfield_tail;                      // pointer to last element
 2941    algo_lib::FLockfile     lockfile;                                 // Prevent concurrent execution
 2942    amc::FNsproto*          nsproto_lary[32];                         // level array
 2943    i32                     nsproto_n;                                // number of elements in array
 2944    amc::FNsdb*             nsdb_lary[32];                            // level array
 2945    i32                     nsdb_n;                                   // number of elements in array
 2946    amc::FSubstr*           zd_substr_params_head;                    // zero-terminated doubly linked list
 2947    i32                     zd_substr_params_n;                       // zero-terminated doubly linked list
 2948    amc::FSubstr*           zd_substr_params_tail;                    // pointer to last element
 2949    amc::FFconst**          ind_fconst_int_buckets_elems;             // pointer to bucket array
 2950    i32                     ind_fconst_int_buckets_n;                 // number of elements in bucket array
 2951    i32                     ind_fconst_int_n;                         // number of elements in the hash table
 2952    amc::FFprefix*          fprefix_lary[32];                         // level array
 2953    i32                     fprefix_n;                                // number of elements in array
 2954    amc::FFprefix**         ind_prefix_buckets_elems;                 // pointer to bucket array
 2955    i32                     ind_prefix_buckets_n;                     // number of elements in bucket array
 2956    i32                     ind_prefix_n;                             // number of elements in the hash table
 2957    amc::FFtrace*           ftrace_lary[32];                          // level array
 2958    i32                     ftrace_n;                                 // number of elements in array
 2959    amc::FNs*               c_ns;                                     // optional pointer
 2960    amc::FFnoremove*        fnoremove_lary[32];                       // level array
 2961    i32                     fnoremove_n;                              // number of elements in array
 2962    amc::FSubstr**          c_substr_field_elems;                     // array of pointers
 2963    u32                     c_substr_field_n;                         // array of pointers
 2964    u32                     c_substr_field_max;                       // capacity of allocated array
 2965    amc::FCtypelen*         ctypelen_lary[32];                        // level array
 2966    i32                     ctypelen_n;                               // number of elements in array
 2967    amc::FCtypelen**        c_ctypelen_elems;                         // array of pointers
 2968    u32                     c_ctypelen_n;                             // array of pointers
 2969    u32                     c_ctypelen_max;                           // capacity of allocated array
 2970    amc::FCtype*            c_u64;                                    // optional pointer
 2971    amc::FField**           c_tempfield_elems;                        // array of pointers
 2972    u32                     c_tempfield_n;                            // array of pointers
 2973    u32                     c_tempfield_max;                          // capacity of allocated array
 2974    amc::FFbase*            fbase_lary[32];                           // level array
 2975    i32                     fbase_n;                                  // number of elements in array
 2976    amc::FFcmap**           ind_fcmap_buckets_elems;                  // pointer to bucket array
 2977    i32                     ind_fcmap_buckets_n;                      // number of elements in bucket array
 2978    i32                     ind_fcmap_n;                              // number of elements in the hash table
 2979    amc::FNossimfile*       nossimfile_lary[32];                      // level array
 2980    i32                     nossimfile_n;                             // number of elements in array
 2981    amc::FGsymbol*          gsymbol_lary[32];                         // level array
 2982    i32                     gsymbol_n;                                // number of elements in array
 2983    amc::FSortfld*          sortfld_lary[32];                         // level array
 2984    i32                     sortfld_n;                                // number of elements in array
 2985    amc::FCget*             cget_lary[32];                            // level array
 2986    i32                     cget_n;                                   // number of elements in array
 2987    amc::FFunc*             cd_temp_func_head;                        // zero-terminated doubly linked list
 2988    i32                     cd_temp_func_n;                           // zero-terminated doubly linked list
 2989    amc::FGen*              zs_gen_perns_head;                        // zero-terminated singly linked list
 2990    amc::FGen*              zs_gen_perns_tail;                        // pointer to last element
 2991    amc::FHook*             hook_lary[32];                            // level array
 2992    i32                     hook_n;                                   // number of elements in array
 2993    amc::FCharset*          charset_lary[32];                         // level array
 2994    i32                     charset_n;                                // number of elements in array
 2995    algo::Charset           ValidRnumPad;                             //
 2996    amc::FNsinclude*        nsinclude_lary[32];                       // level array
 2997    i32                     nsinclude_n;                              // number of elements in array
 2998    amc::FSsimvolatile*     ssimvolatile_lary[32];                    // level array
 2999    i32                     ssimvolatile_n;                           // number of elements in array
 3000    amc::FFunique*          funique_lary[32];                         // level array
 3001    i32                     funique_n;                                // number of elements in array
 3002    amc::FFuserinit*        fuserinit_lary[32];                       // level array
 3003    i32                     fuserinit_n;                              // number of elements in array
 3004    amc::FFcurs**           ind_fcurs_buckets_elems;                  // pointer to bucket array
 3005    i32                     ind_fcurs_buckets_n;                      // number of elements in bucket array
 3006    i32                     ind_fcurs_n;                              // number of elements in the hash table
 3007    amc::FTcurs*            tcurs_lary[32];                           // level array
 3008    i32                     tcurs_n;                                  // number of elements in array
 3009    algo::cstring           cur_gen;                                  //
 3010    bool                    has_ams_fwd_declare;                      //   false
 3011    amc::FNscpp*            nscpp_lary[32];                           // level array
 3012    i32                     nscpp_n;                                  // number of elements in array
 3013    amc::FFflag*            fflag_lary[32];                           // level array
 3014    i32                     fflag_n;                                  // number of elements in array
 3015    amc::FFflag**           ind_fflag_buckets_elems;                  // pointer to bucket array
 3016    i32                     ind_fflag_buckets_n;                      // number of elements in bucket array
 3017    i32                     ind_fflag_n;                              // number of elements in the hash table
 3018    amc::FFalias*           falias_lary[32];                          // level array
 3019    i32                     falias_n;                                 // number of elements in array
 3020    algo::cstring           copyright;                                //
 3021    amc::FLicense*          license_lary[32];                         // level array
 3022    i32                     license_n;                                // number of elements in array
 3023    amc::FLicense**         ind_license_buckets_elems;                // pointer to bucket array
 3024    i32                     ind_license_buckets_n;                    // number of elements in bucket array
 3025    i32                     ind_license_n;                            // number of elements in the hash table
 3026    amc::FSsimfile**        c_ssimfile_sorted_elems;                  // array of pointers
 3027    u32                     c_ssimfile_sorted_n;                      // array of pointers
 3028    u32                     c_ssimfile_sorted_max;                    // capacity of allocated array
 3029    amc::FSsimfile*         zd_ssimfile_todo_head;                    // zero-terminated doubly linked list
 3030    i32                     zd_ssimfile_todo_n;                       // zero-terminated doubly linked list
 3031    amc::FSsimfile*         zd_ssimfile_todo_tail;                    // pointer to last element
 3032    amc::FCfast*            cfast_lary[32];                           // level array
 3033    i32                     cfast_n;                                  // number of elements in array
 3034    amc::FFfast*            ffast_lary[32];                           // level array
 3035    i32                     ffast_n;                                  // number of elements in array
 3036    amc::FPmaskfldMember*   pmaskfld_member_lary[32];                 // level array
 3037    i32                     pmaskfld_member_n;                        // number of elements in array
 3038    amc::FPmaskfld**        ind_pmaskfld_buckets_elems;               // pointer to bucket array
 3039    i32                     ind_pmaskfld_buckets_n;                   // number of elements in bucket array
 3040    i32                     ind_pmaskfld_n;                           // number of elements in the hash table
 3041    amc::FSsimsort*         ssimsort_lary[32];                        // level array
 3042    i32                     ssimsort_n;                               // number of elements in array
 3043    amc::trace              trace;                                    //
 3044};
 3045
 3046// Free block of memory previously returned by Lpool.
 3047// func:amc.FDb.lpool.FreeMem
 3048void                 lpool_FreeMem(void* mem, u64 size) __attribute__((nothrow));
 3049// Allocate new piece of memory at least SIZE bytes long.
 3050// If not successful, return NULL
 3051// The allocated block is at least 1<<4
 3052// The maximum allocation size is at most 1<<(36+4)
 3053// func:amc.FDb.lpool.AllocMem
 3054void*                lpool_AllocMem(u64 size) __attribute__((__warn_unused_result__, nothrow));
 3055// Add N buffers of some size to the free store
 3056// Reserve NBUF buffers of size BUFSIZE from the base pool (algo_lib::sbrk)
 3057// func:amc.FDb.lpool.ReserveBuffers
 3058bool                 lpool_ReserveBuffers(u64 nbuf, u64 bufsize) __attribute__((nothrow));
 3059// Allocate new block, copy old to new, delete old.
 3060// If the new size is same as old size, do nothing.
 3061// In all other cases, new memory is allocated (i.e. size reduction is not a no-op)
 3062// If no memory, return NULL; old memory remains untouched
 3063// func:amc.FDb.lpool.ReallocMem
 3064void*                lpool_ReallocMem(void* oldmem, u64 old_size, u64 new_size) __attribute__((nothrow));
 3065// Allocate memory for new default row.
 3066// If out of memory, process is killed.
 3067// func:amc.FDb.lpool.Alloc
 3068u8&                  lpool_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3069// Allocate memory for new element. If out of memory, return NULL.
 3070// func:amc.FDb.lpool.AllocMaybe
 3071u8*                  lpool_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3072// Remove row from all global and cross indices, then deallocate row
 3073// func:amc.FDb.lpool.Delete
 3074void                 lpool_Delete(u8 &row) __attribute__((nothrow));
 3075
 3076// Allocate memory for new default row.
 3077// If out of memory, process is killed.
 3078// func:amc.FDb.fsort.Alloc
 3079amc::FFsort&         fsort_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3080// Allocate memory for new element. If out of memory, return NULL.
 3081// func:amc.FDb.fsort.AllocMaybe
 3082amc::FFsort*         fsort_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3083// Create new row from struct.
 3084// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3085// func:amc.FDb.fsort.InsertMaybe
 3086amc::FFsort*         fsort_InsertMaybe(const dmmeta::Fsort &value) __attribute__((nothrow));
 3087// Allocate space for one element. If no memory available, return NULL.
 3088// func:amc.FDb.fsort.AllocMem
 3089void*                fsort_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3090// Return true if index is empty
 3091// func:amc.FDb.fsort.EmptyQ
 3092bool                 fsort_EmptyQ() __attribute__((nothrow, pure));
 3093// Look up row by row id. Return NULL if out of range
 3094// func:amc.FDb.fsort.Find
 3095amc::FFsort*         fsort_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3096// Return pointer to last element of array, or NULL if array is empty
 3097// func:amc.FDb.fsort.Last
 3098amc::FFsort*         fsort_Last() __attribute__((nothrow, pure));
 3099// Return number of items in the pool
 3100// func:amc.FDb.fsort.N
 3101i32                  fsort_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3102// Delete last element of array. Do nothing if array is empty.
 3103// func:amc.FDb.fsort.RemoveLast
 3104void                 fsort_RemoveLast() __attribute__((nothrow));
 3105// 'quick' Access row by row id. No bounds checking.
 3106// func:amc.FDb.fsort.qFind
 3107amc::FFsort&         fsort_qFind(u64 t) __attribute__((nothrow, pure));
 3108// Insert row into all appropriate indices. If error occurs, store error
 3109// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3110// func:amc.FDb.fsort.XrefMaybe
 3111bool                 fsort_XrefMaybe(amc::FFsort &row);
 3112
 3113// Return true if hash is empty
 3114// func:amc.FDb.ind_cfmt.EmptyQ
 3115bool                 ind_cfmt_EmptyQ() __attribute__((nothrow));
 3116// Find row by key. Return NULL if not found.
 3117// func:amc.FDb.ind_cfmt.Find
 3118amc::FCfmt*          ind_cfmt_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 3119// Find row by key. If not found, create and x-reference a new row with with this key.
 3120// func:amc.FDb.ind_cfmt.GetOrCreate
 3121amc::FCfmt&          ind_cfmt_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 3122// Return number of items in the hash
 3123// func:amc.FDb.ind_cfmt.N
 3124i32                  ind_cfmt_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3125// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 3126// func:amc.FDb.ind_cfmt.InsertMaybe
 3127bool                 ind_cfmt_InsertMaybe(amc::FCfmt& row) __attribute__((nothrow));
 3128// Remove reference to element from hash index. If element is not in hash, do nothing
 3129// func:amc.FDb.ind_cfmt.Remove
 3130void                 ind_cfmt_Remove(amc::FCfmt& row) __attribute__((nothrow));
 3131// Reserve enough room in the hash for N more elements. Return success code.
 3132// func:amc.FDb.ind_cfmt.Reserve
 3133void                 ind_cfmt_Reserve(int n) __attribute__((nothrow));
 3134
 3135// Allocate memory for new default row.
 3136// If out of memory, process is killed.
 3137// func:amc.FDb.dispfilter.Alloc
 3138amc::FDispfilter&    dispfilter_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3139// Allocate memory for new element. If out of memory, return NULL.
 3140// func:amc.FDb.dispfilter.AllocMaybe
 3141amc::FDispfilter*    dispfilter_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3142// Create new row from struct.
 3143// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3144// func:amc.FDb.dispfilter.InsertMaybe
 3145amc::FDispfilter*    dispfilter_InsertMaybe(const dmmeta::Dispfilter &value) __attribute__((nothrow));
 3146// Allocate space for one element. If no memory available, return NULL.
 3147// func:amc.FDb.dispfilter.AllocMem
 3148void*                dispfilter_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3149// Return true if index is empty
 3150// func:amc.FDb.dispfilter.EmptyQ
 3151bool                 dispfilter_EmptyQ() __attribute__((nothrow, pure));
 3152// Look up row by row id. Return NULL if out of range
 3153// func:amc.FDb.dispfilter.Find
 3154amc::FDispfilter*    dispfilter_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3155// Return pointer to last element of array, or NULL if array is empty
 3156// func:amc.FDb.dispfilter.Last
 3157amc::FDispfilter*    dispfilter_Last() __attribute__((nothrow, pure));
 3158// Return number of items in the pool
 3159// func:amc.FDb.dispfilter.N
 3160i32                  dispfilter_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3161// Delete last element of array. Do nothing if array is empty.
 3162// func:amc.FDb.dispfilter.RemoveLast
 3163void                 dispfilter_RemoveLast() __attribute__((nothrow));
 3164// 'quick' Access row by row id. No bounds checking.
 3165// func:amc.FDb.dispfilter.qFind
 3166amc::FDispfilter&    dispfilter_qFind(u64 t) __attribute__((nothrow, pure));
 3167// Insert row into all appropriate indices. If error occurs, store error
 3168// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3169// func:amc.FDb.dispfilter.XrefMaybe
 3170bool                 dispfilter_XrefMaybe(amc::FDispfilter &row);
 3171
 3172// Allocate memory for new default row.
 3173// If out of memory, process is killed.
 3174// func:amc.FDb.usertracefld.Alloc
 3175amc::FUsertracefld&  usertracefld_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3176// Allocate memory for new element. If out of memory, return NULL.
 3177// func:amc.FDb.usertracefld.AllocMaybe
 3178amc::FUsertracefld*  usertracefld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3179// Create new row from struct.
 3180// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3181// func:amc.FDb.usertracefld.InsertMaybe
 3182amc::FUsertracefld*  usertracefld_InsertMaybe(const dmmeta::Usertracefld &value) __attribute__((nothrow));
 3183// Allocate space for one element. If no memory available, return NULL.
 3184// func:amc.FDb.usertracefld.AllocMem
 3185void*                usertracefld_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3186// Return true if index is empty
 3187// func:amc.FDb.usertracefld.EmptyQ
 3188bool                 usertracefld_EmptyQ() __attribute__((nothrow, pure));
 3189// Look up row by row id. Return NULL if out of range
 3190// func:amc.FDb.usertracefld.Find
 3191amc::FUsertracefld*  usertracefld_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3192// Return pointer to last element of array, or NULL if array is empty
 3193// func:amc.FDb.usertracefld.Last
 3194amc::FUsertracefld*  usertracefld_Last() __attribute__((nothrow, pure));
 3195// Return number of items in the pool
 3196// func:amc.FDb.usertracefld.N
 3197i32                  usertracefld_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3198// Delete last element of array. Do nothing if array is empty.
 3199// func:amc.FDb.usertracefld.RemoveLast
 3200void                 usertracefld_RemoveLast() __attribute__((nothrow));
 3201// 'quick' Access row by row id. No bounds checking.
 3202// func:amc.FDb.usertracefld.qFind
 3203amc::FUsertracefld&  usertracefld_qFind(u64 t) __attribute__((nothrow, pure));
 3204// Insert row into all appropriate indices. If error occurs, store error
 3205// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3206// func:amc.FDb.usertracefld.XrefMaybe
 3207bool                 usertracefld_XrefMaybe(amc::FUsertracefld &row);
 3208
 3209// Allocate memory for new default row.
 3210// If out of memory, process is killed.
 3211// func:amc.FDb.cfmt.Alloc
 3212amc::FCfmt&          cfmt_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3213// Allocate memory for new element. If out of memory, return NULL.
 3214// func:amc.FDb.cfmt.AllocMaybe
 3215amc::FCfmt*          cfmt_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3216// Create new row from struct.
 3217// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3218// func:amc.FDb.cfmt.InsertMaybe
 3219amc::FCfmt*          cfmt_InsertMaybe(const dmmeta::Cfmt &value) __attribute__((nothrow));
 3220// Allocate space for one element. If no memory available, return NULL.
 3221// func:amc.FDb.cfmt.AllocMem
 3222void*                cfmt_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3223// Return true if index is empty
 3224// func:amc.FDb.cfmt.EmptyQ
 3225bool                 cfmt_EmptyQ() __attribute__((nothrow, pure));
 3226// Look up row by row id. Return NULL if out of range
 3227// func:amc.FDb.cfmt.Find
 3228amc::FCfmt*          cfmt_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3229// Return pointer to last element of array, or NULL if array is empty
 3230// func:amc.FDb.cfmt.Last
 3231amc::FCfmt*          cfmt_Last() __attribute__((nothrow, pure));
 3232// Return number of items in the pool
 3233// func:amc.FDb.cfmt.N
 3234i32                  cfmt_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3235// Delete last element of array. Do nothing if array is empty.
 3236// func:amc.FDb.cfmt.RemoveLast
 3237void                 cfmt_RemoveLast() __attribute__((nothrow));
 3238// 'quick' Access row by row id. No bounds checking.
 3239// func:amc.FDb.cfmt.qFind
 3240amc::FCfmt&          cfmt_qFind(u64 t) __attribute__((nothrow, pure));
 3241// Insert row into all appropriate indices. If error occurs, store error
 3242// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3243// func:amc.FDb.cfmt.XrefMaybe
 3244bool                 cfmt_XrefMaybe(amc::FCfmt &row);
 3245
 3246// Allocate memory for new default row.
 3247// If out of memory, process is killed.
 3248// func:amc.FDb.dispatch.Alloc
 3249amc::FDispatch&      dispatch_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3250// Allocate memory for new element. If out of memory, return NULL.
 3251// func:amc.FDb.dispatch.AllocMaybe
 3252amc::FDispatch*      dispatch_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3253// Create new row from struct.
 3254// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3255// func:amc.FDb.dispatch.InsertMaybe
 3256amc::FDispatch*      dispatch_InsertMaybe(const dmmeta::Dispatch &value) __attribute__((nothrow));
 3257// Allocate space for one element. If no memory available, return NULL.
 3258// func:amc.FDb.dispatch.AllocMem
 3259void*                dispatch_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3260// Return true if index is empty
 3261// func:amc.FDb.dispatch.EmptyQ
 3262bool                 dispatch_EmptyQ() __attribute__((nothrow, pure));
 3263// Look up row by row id. Return NULL if out of range
 3264// func:amc.FDb.dispatch.Find
 3265amc::FDispatch*      dispatch_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3266// Return pointer to last element of array, or NULL if array is empty
 3267// func:amc.FDb.dispatch.Last
 3268amc::FDispatch*      dispatch_Last() __attribute__((nothrow, pure));
 3269// Return number of items in the pool
 3270// func:amc.FDb.dispatch.N
 3271i32                  dispatch_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3272// Delete last element of array. Do nothing if array is empty.
 3273// func:amc.FDb.dispatch.RemoveLast
 3274void                 dispatch_RemoveLast() __attribute__((nothrow));
 3275// 'quick' Access row by row id. No bounds checking.
 3276// func:amc.FDb.dispatch.qFind
 3277amc::FDispatch&      dispatch_qFind(u64 t) __attribute__((nothrow, pure));
 3278// Insert row into all appropriate indices. If error occurs, store error
 3279// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3280// func:amc.FDb.dispatch.XrefMaybe
 3281bool                 dispatch_XrefMaybe(amc::FDispatch &row);
 3282
 3283// Allocate memory for new default row.
 3284// If out of memory, process is killed.
 3285// func:amc.FDb.dispatch_msg.Alloc
 3286amc::FDispatchmsg&   dispatch_msg_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3287// Allocate memory for new element. If out of memory, return NULL.
 3288// func:amc.FDb.dispatch_msg.AllocMaybe
 3289amc::FDispatchmsg*   dispatch_msg_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3290// Create new row from struct.
 3291// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3292// func:amc.FDb.dispatch_msg.InsertMaybe
 3293amc::FDispatchmsg*   dispatch_msg_InsertMaybe(const dmmeta::DispatchMsg &value) __attribute__((nothrow));
 3294// Allocate space for one element. If no memory available, return NULL.
 3295// func:amc.FDb.dispatch_msg.AllocMem
 3296void*                dispatch_msg_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3297// Return true if index is empty
 3298// func:amc.FDb.dispatch_msg.EmptyQ
 3299bool                 dispatch_msg_EmptyQ() __attribute__((nothrow, pure));
 3300// Look up row by row id. Return NULL if out of range
 3301// func:amc.FDb.dispatch_msg.Find
 3302amc::FDispatchmsg*   dispatch_msg_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3303// Return pointer to last element of array, or NULL if array is empty
 3304// func:amc.FDb.dispatch_msg.Last
 3305amc::FDispatchmsg*   dispatch_msg_Last() __attribute__((nothrow, pure));
 3306// Return number of items in the pool
 3307// func:amc.FDb.dispatch_msg.N
 3308i32                  dispatch_msg_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3309// Delete last element of array. Do nothing if array is empty.
 3310// func:amc.FDb.dispatch_msg.RemoveLast
 3311void                 dispatch_msg_RemoveLast() __attribute__((nothrow));
 3312// 'quick' Access row by row id. No bounds checking.
 3313// func:amc.FDb.dispatch_msg.qFind
 3314amc::FDispatchmsg&   dispatch_msg_qFind(u64 t) __attribute__((nothrow, pure));
 3315// Insert row into all appropriate indices. If error occurs, store error
 3316// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3317// func:amc.FDb.dispatch_msg.XrefMaybe
 3318bool                 dispatch_msg_XrefMaybe(amc::FDispatchmsg &row);
 3319
 3320// Allocate memory for new default row.
 3321// If out of memory, process is killed.
 3322// func:amc.FDb.ctype.Alloc
 3323amc::FCtype&         ctype_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3324// Allocate memory for new element. If out of memory, return NULL.
 3325// func:amc.FDb.ctype.AllocMaybe
 3326amc::FCtype*         ctype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3327// Create new row from struct.
 3328// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3329// func:amc.FDb.ctype.InsertMaybe
 3330amc::FCtype*         ctype_InsertMaybe(const dmmeta::Ctype &value) __attribute__((nothrow));
 3331// Allocate space for one element. If no memory available, return NULL.
 3332// func:amc.FDb.ctype.AllocMem
 3333void*                ctype_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3334// Return true if index is empty
 3335// func:amc.FDb.ctype.EmptyQ
 3336bool                 ctype_EmptyQ() __attribute__((nothrow, pure));
 3337// Look up row by row id. Return NULL if out of range
 3338// func:amc.FDb.ctype.Find
 3339amc::FCtype*         ctype_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3340// Return pointer to last element of array, or NULL if array is empty
 3341// func:amc.FDb.ctype.Last
 3342amc::FCtype*         ctype_Last() __attribute__((nothrow, pure));
 3343// Return number of items in the pool
 3344// func:amc.FDb.ctype.N
 3345i32                  ctype_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3346// Delete last element of array. Do nothing if array is empty.
 3347// func:amc.FDb.ctype.RemoveLast
 3348void                 ctype_RemoveLast() __attribute__((nothrow));
 3349// 'quick' Access row by row id. No bounds checking.
 3350// func:amc.FDb.ctype.qFind
 3351amc::FCtype&         ctype_qFind(u64 t) __attribute__((nothrow, pure));
 3352// Insert row into all appropriate indices. If error occurs, store error
 3353// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3354// func:amc.FDb.ctype.XrefMaybe
 3355bool                 ctype_XrefMaybe(amc::FCtype &row);
 3356
 3357// Allocate memory for new default row.
 3358// If out of memory, process is killed.
 3359// func:amc.FDb.field.Alloc
 3360amc::FField&         field_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3361// Allocate memory for new element. If out of memory, return NULL.
 3362// func:amc.FDb.field.AllocMaybe
 3363amc::FField*         field_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3364// Create new row from struct.
 3365// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3366// func:amc.FDb.field.InsertMaybe
 3367amc::FField*         field_InsertMaybe(const dmmeta::Field &value) __attribute__((nothrow));
 3368// Allocate space for one element. If no memory available, return NULL.
 3369// func:amc.FDb.field.AllocMem
 3370void*                field_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3371// Return true if index is empty
 3372// func:amc.FDb.field.EmptyQ
 3373bool                 field_EmptyQ() __attribute__((nothrow, pure));
 3374// Look up row by row id. Return NULL if out of range
 3375// func:amc.FDb.field.Find
 3376amc::FField*         field_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3377// Return pointer to last element of array, or NULL if array is empty
 3378// func:amc.FDb.field.Last
 3379amc::FField*         field_Last() __attribute__((nothrow, pure));
 3380// Return number of items in the pool
 3381// func:amc.FDb.field.N
 3382i32                  field_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3383// Delete last element of array. Do nothing if array is empty.
 3384// func:amc.FDb.field.RemoveLast
 3385void                 field_RemoveLast() __attribute__((nothrow));
 3386// 'quick' Access row by row id. No bounds checking.
 3387// func:amc.FDb.field.qFind
 3388amc::FField&         field_qFind(u64 t) __attribute__((nothrow, pure));
 3389// Insert row into all appropriate indices. If error occurs, store error
 3390// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3391// func:amc.FDb.field.XrefMaybe
 3392bool                 field_XrefMaybe(amc::FField &row);
 3393
 3394// Allocate memory for new default row.
 3395// If out of memory, process is killed.
 3396// func:amc.FDb.basepool.Alloc
 3397amc::FBasepool&      basepool_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3398// Allocate memory for new element. If out of memory, return NULL.
 3399// func:amc.FDb.basepool.AllocMaybe
 3400amc::FBasepool*      basepool_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3401// Create new row from struct.
 3402// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3403// func:amc.FDb.basepool.InsertMaybe
 3404amc::FBasepool*      basepool_InsertMaybe(const dmmeta::Basepool &value) __attribute__((nothrow));
 3405// Allocate space for one element. If no memory available, return NULL.
 3406// func:amc.FDb.basepool.AllocMem
 3407void*                basepool_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3408// Return true if index is empty
 3409// func:amc.FDb.basepool.EmptyQ
 3410bool                 basepool_EmptyQ() __attribute__((nothrow, pure));
 3411// Look up row by row id. Return NULL if out of range
 3412// func:amc.FDb.basepool.Find
 3413amc::FBasepool*      basepool_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3414// Return pointer to last element of array, or NULL if array is empty
 3415// func:amc.FDb.basepool.Last
 3416amc::FBasepool*      basepool_Last() __attribute__((nothrow, pure));
 3417// Return number of items in the pool
 3418// func:amc.FDb.basepool.N
 3419i32                  basepool_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3420// Delete last element of array. Do nothing if array is empty.
 3421// func:amc.FDb.basepool.RemoveLast
 3422void                 basepool_RemoveLast() __attribute__((nothrow));
 3423// 'quick' Access row by row id. No bounds checking.
 3424// func:amc.FDb.basepool.qFind
 3425amc::FBasepool&      basepool_qFind(u64 t) __attribute__((nothrow, pure));
 3426// Insert row into all appropriate indices. If error occurs, store error
 3427// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3428// func:amc.FDb.basepool.XrefMaybe
 3429bool                 basepool_XrefMaybe(amc::FBasepool &row);
 3430
 3431// Allocate memory for new default row.
 3432// If out of memory, process is killed.
 3433// func:amc.FDb.llist.Alloc
 3434amc::FLlist&         llist_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3435// Allocate memory for new element. If out of memory, return NULL.
 3436// func:amc.FDb.llist.AllocMaybe
 3437amc::FLlist*         llist_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3438// Create new row from struct.
 3439// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3440// func:amc.FDb.llist.InsertMaybe
 3441amc::FLlist*         llist_InsertMaybe(const dmmeta::Llist &value) __attribute__((nothrow));
 3442// Allocate space for one element. If no memory available, return NULL.
 3443// func:amc.FDb.llist.AllocMem
 3444void*                llist_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3445// Return true if index is empty
 3446// func:amc.FDb.llist.EmptyQ
 3447bool                 llist_EmptyQ() __attribute__((nothrow, pure));
 3448// Look up row by row id. Return NULL if out of range
 3449// func:amc.FDb.llist.Find
 3450amc::FLlist*         llist_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3451// Return pointer to last element of array, or NULL if array is empty
 3452// func:amc.FDb.llist.Last
 3453amc::FLlist*         llist_Last() __attribute__((nothrow, pure));
 3454// Return number of items in the pool
 3455// func:amc.FDb.llist.N
 3456i32                  llist_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3457// Delete last element of array. Do nothing if array is empty.
 3458// func:amc.FDb.llist.RemoveLast
 3459void                 llist_RemoveLast() __attribute__((nothrow));
 3460// 'quick' Access row by row id. No bounds checking.
 3461// func:amc.FDb.llist.qFind
 3462amc::FLlist&         llist_qFind(u64 t) __attribute__((nothrow, pure));
 3463// Insert row into all appropriate indices. If error occurs, store error
 3464// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3465// func:amc.FDb.llist.XrefMaybe
 3466bool                 llist_XrefMaybe(amc::FLlist &row);
 3467
 3468// Allocate memory for new default row.
 3469// If out of memory, process is killed.
 3470// func:amc.FDb.anonfld.Alloc
 3471amc::FAnonfld&       anonfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3472// Allocate memory for new element. If out of memory, return NULL.
 3473// func:amc.FDb.anonfld.AllocMaybe
 3474amc::FAnonfld*       anonfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3475// Create new row from struct.
 3476// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3477// func:amc.FDb.anonfld.InsertMaybe
 3478amc::FAnonfld*       anonfld_InsertMaybe(const dmmeta::Anonfld &value) __attribute__((nothrow));
 3479// Allocate space for one element. If no memory available, return NULL.
 3480// func:amc.FDb.anonfld.AllocMem
 3481void*                anonfld_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3482// Return true if index is empty
 3483// func:amc.FDb.anonfld.EmptyQ
 3484bool                 anonfld_EmptyQ() __attribute__((nothrow, pure));
 3485// Look up row by row id. Return NULL if out of range
 3486// func:amc.FDb.anonfld.Find
 3487amc::FAnonfld*       anonfld_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3488// Return pointer to last element of array, or NULL if array is empty
 3489// func:amc.FDb.anonfld.Last
 3490amc::FAnonfld*       anonfld_Last() __attribute__((nothrow, pure));
 3491// Return number of items in the pool
 3492// func:amc.FDb.anonfld.N
 3493i32                  anonfld_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3494// Delete last element of array. Do nothing if array is empty.
 3495// func:amc.FDb.anonfld.RemoveLast
 3496void                 anonfld_RemoveLast() __attribute__((nothrow));
 3497// 'quick' Access row by row id. No bounds checking.
 3498// func:amc.FDb.anonfld.qFind
 3499amc::FAnonfld&       anonfld_qFind(u64 t) __attribute__((nothrow, pure));
 3500// Insert row into all appropriate indices. If error occurs, store error
 3501// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3502// func:amc.FDb.anonfld.XrefMaybe
 3503bool                 anonfld_XrefMaybe(amc::FAnonfld &row);
 3504
 3505// Allocate memory for new default row.
 3506// If out of memory, process is killed.
 3507// func:amc.FDb.xref.Alloc
 3508amc::FXref&          xref_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3509// Allocate memory for new element. If out of memory, return NULL.
 3510// func:amc.FDb.xref.AllocMaybe
 3511amc::FXref*          xref_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3512// Create new row from struct.
 3513// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3514// func:amc.FDb.xref.InsertMaybe
 3515amc::FXref*          xref_InsertMaybe(const dmmeta::Xref &value) __attribute__((nothrow));
 3516// Allocate space for one element. If no memory available, return NULL.
 3517// func:amc.FDb.xref.AllocMem
 3518void*                xref_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3519// Return true if index is empty
 3520// func:amc.FDb.xref.EmptyQ
 3521bool                 xref_EmptyQ() __attribute__((nothrow, pure));
 3522// Look up row by row id. Return NULL if out of range
 3523// func:amc.FDb.xref.Find
 3524amc::FXref*          xref_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3525// Return pointer to last element of array, or NULL if array is empty
 3526// func:amc.FDb.xref.Last
 3527amc::FXref*          xref_Last() __attribute__((nothrow, pure));
 3528// Return number of items in the pool
 3529// func:amc.FDb.xref.N
 3530i32                  xref_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3531// Delete last element of array. Do nothing if array is empty.
 3532// func:amc.FDb.xref.RemoveLast
 3533void                 xref_RemoveLast() __attribute__((nothrow));
 3534// 'quick' Access row by row id. No bounds checking.
 3535// func:amc.FDb.xref.qFind
 3536amc::FXref&          xref_qFind(u64 t) __attribute__((nothrow, pure));
 3537// Insert row into all appropriate indices. If error occurs, store error
 3538// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3539// func:amc.FDb.xref.XrefMaybe
 3540bool                 xref_XrefMaybe(amc::FXref &row);
 3541
 3542// Allocate memory for new default row.
 3543// If out of memory, process is killed.
 3544// func:amc.FDb.ns.Alloc
 3545amc::FNs&            ns_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3546// Allocate memory for new element. If out of memory, return NULL.
 3547// func:amc.FDb.ns.AllocMaybe
 3548amc::FNs*            ns_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3549// Create new row from struct.
 3550// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3551// func:amc.FDb.ns.InsertMaybe
 3552amc::FNs*            ns_InsertMaybe(const dmmeta::Ns &value) __attribute__((nothrow));
 3553// Allocate space for one element. If no memory available, return NULL.
 3554// func:amc.FDb.ns.AllocMem
 3555void*                ns_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3556// Return true if index is empty
 3557// func:amc.FDb.ns.EmptyQ
 3558bool                 ns_EmptyQ() __attribute__((nothrow, pure));
 3559// Look up row by row id. Return NULL if out of range
 3560// func:amc.FDb.ns.Find
 3561amc::FNs*            ns_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3562// Return pointer to last element of array, or NULL if array is empty
 3563// func:amc.FDb.ns.Last
 3564amc::FNs*            ns_Last() __attribute__((nothrow, pure));
 3565// Return number of items in the pool
 3566// func:amc.FDb.ns.N
 3567i32                  ns_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3568// Delete last element of array. Do nothing if array is empty.
 3569// func:amc.FDb.ns.RemoveLast
 3570void                 ns_RemoveLast() __attribute__((nothrow));
 3571// 'quick' Access row by row id. No bounds checking.
 3572// func:amc.FDb.ns.qFind
 3573amc::FNs&            ns_qFind(u64 t) __attribute__((nothrow, pure));
 3574// Insert row into all appropriate indices. If error occurs, store error
 3575// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3576// func:amc.FDb.ns.XrefMaybe
 3577bool                 ns_XrefMaybe(amc::FNs &row);
 3578
 3579// Allocate memory for new default row.
 3580// If out of memory, process is killed.
 3581// func:amc.FDb.pnew.Alloc
 3582amc::FPnew&          pnew_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3583// Allocate memory for new element. If out of memory, return NULL.
 3584// func:amc.FDb.pnew.AllocMaybe
 3585amc::FPnew*          pnew_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3586// Create new row from struct.
 3587// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3588// func:amc.FDb.pnew.InsertMaybe
 3589amc::FPnew*          pnew_InsertMaybe(const dmmeta::Pnew &value) __attribute__((nothrow));
 3590// Allocate space for one element. If no memory available, return NULL.
 3591// func:amc.FDb.pnew.AllocMem
 3592void*                pnew_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3593// Return true if index is empty
 3594// func:amc.FDb.pnew.EmptyQ
 3595bool                 pnew_EmptyQ() __attribute__((nothrow, pure));
 3596// Look up row by row id. Return NULL if out of range
 3597// func:amc.FDb.pnew.Find
 3598amc::FPnew*          pnew_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3599// Return pointer to last element of array, or NULL if array is empty
 3600// func:amc.FDb.pnew.Last
 3601amc::FPnew*          pnew_Last() __attribute__((nothrow, pure));
 3602// Return number of items in the pool
 3603// func:amc.FDb.pnew.N
 3604i32                  pnew_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3605// Delete last element of array. Do nothing if array is empty.
 3606// func:amc.FDb.pnew.RemoveLast
 3607void                 pnew_RemoveLast() __attribute__((nothrow));
 3608// 'quick' Access row by row id. No bounds checking.
 3609// func:amc.FDb.pnew.qFind
 3610amc::FPnew&          pnew_qFind(u64 t) __attribute__((nothrow, pure));
 3611// Insert row into all appropriate indices. If error occurs, store error
 3612// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3613// func:amc.FDb.pnew.XrefMaybe
 3614bool                 pnew_XrefMaybe(amc::FPnew &row);
 3615
 3616// Allocate memory for new default row.
 3617// If out of memory, process is killed.
 3618// func:amc.FDb.fldoffset.Alloc
 3619amc::FFldoffset&     fldoffset_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3620// Allocate memory for new element. If out of memory, return NULL.
 3621// func:amc.FDb.fldoffset.AllocMaybe
 3622amc::FFldoffset*     fldoffset_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3623// Create new row from struct.
 3624// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3625// func:amc.FDb.fldoffset.InsertMaybe
 3626amc::FFldoffset*     fldoffset_InsertMaybe(const dmmeta::Fldoffset &value) __attribute__((nothrow));
 3627// Allocate space for one element. If no memory available, return NULL.
 3628// func:amc.FDb.fldoffset.AllocMem
 3629void*                fldoffset_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3630// Return true if index is empty
 3631// func:amc.FDb.fldoffset.EmptyQ
 3632bool                 fldoffset_EmptyQ() __attribute__((nothrow, pure));
 3633// Look up row by row id. Return NULL if out of range
 3634// func:amc.FDb.fldoffset.Find
 3635amc::FFldoffset*     fldoffset_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3636// Return pointer to last element of array, or NULL if array is empty
 3637// func:amc.FDb.fldoffset.Last
 3638amc::FFldoffset*     fldoffset_Last() __attribute__((nothrow, pure));
 3639// Return number of items in the pool
 3640// func:amc.FDb.fldoffset.N
 3641i32                  fldoffset_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3642// Delete last element of array. Do nothing if array is empty.
 3643// func:amc.FDb.fldoffset.RemoveLast
 3644void                 fldoffset_RemoveLast() __attribute__((nothrow));
 3645// 'quick' Access row by row id. No bounds checking.
 3646// func:amc.FDb.fldoffset.qFind
 3647amc::FFldoffset&     fldoffset_qFind(u64 t) __attribute__((nothrow, pure));
 3648// Insert row into all appropriate indices. If error occurs, store error
 3649// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3650// func:amc.FDb.fldoffset.XrefMaybe
 3651bool                 fldoffset_XrefMaybe(amc::FFldoffset &row);
 3652
 3653// Allocate memory for new default row.
 3654// If out of memory, process is killed.
 3655// func:amc.FDb.typefld.Alloc
 3656amc::FTypefld&       typefld_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3657// Allocate memory for new element. If out of memory, return NULL.
 3658// func:amc.FDb.typefld.AllocMaybe
 3659amc::FTypefld*       typefld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3660// Create new row from struct.
 3661// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3662// func:amc.FDb.typefld.InsertMaybe
 3663amc::FTypefld*       typefld_InsertMaybe(const dmmeta::Typefld &value) __attribute__((nothrow));
 3664// Allocate space for one element. If no memory available, return NULL.
 3665// func:amc.FDb.typefld.AllocMem
 3666void*                typefld_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3667// Return true if index is empty
 3668// func:amc.FDb.typefld.EmptyQ
 3669bool                 typefld_EmptyQ() __attribute__((nothrow, pure));
 3670// Look up row by row id. Return NULL if out of range
 3671// func:amc.FDb.typefld.Find
 3672amc::FTypefld*       typefld_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3673// Return pointer to last element of array, or NULL if array is empty
 3674// func:amc.FDb.typefld.Last
 3675amc::FTypefld*       typefld_Last() __attribute__((nothrow, pure));
 3676// Return number of items in the pool
 3677// func:amc.FDb.typefld.N
 3678i32                  typefld_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3679// Delete last element of array. Do nothing if array is empty.
 3680// func:amc.FDb.typefld.RemoveLast
 3681void                 typefld_RemoveLast() __attribute__((nothrow));
 3682// 'quick' Access row by row id. No bounds checking.
 3683// func:amc.FDb.typefld.qFind
 3684amc::FTypefld&       typefld_qFind(u64 t) __attribute__((nothrow, pure));
 3685// Insert row into all appropriate indices. If error occurs, store error
 3686// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3687// func:amc.FDb.typefld.XrefMaybe
 3688bool                 typefld_XrefMaybe(amc::FTypefld &row);
 3689
 3690// Allocate memory for new default row.
 3691// If out of memory, process is killed.
 3692// func:amc.FDb.lenfld.Alloc
 3693amc::FLenfld&        lenfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3694// Allocate memory for new element. If out of memory, return NULL.
 3695// func:amc.FDb.lenfld.AllocMaybe
 3696amc::FLenfld*        lenfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3697// Create new row from struct.
 3698// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3699// func:amc.FDb.lenfld.InsertMaybe
 3700amc::FLenfld*        lenfld_InsertMaybe(const dmmeta::Lenfld &value) __attribute__((nothrow));
 3701// Allocate space for one element. If no memory available, return NULL.
 3702// func:amc.FDb.lenfld.AllocMem
 3703void*                lenfld_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3704// Return true if index is empty
 3705// func:amc.FDb.lenfld.EmptyQ
 3706bool                 lenfld_EmptyQ() __attribute__((nothrow, pure));
 3707// Look up row by row id. Return NULL if out of range
 3708// func:amc.FDb.lenfld.Find
 3709amc::FLenfld*        lenfld_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3710// Return pointer to last element of array, or NULL if array is empty
 3711// func:amc.FDb.lenfld.Last
 3712amc::FLenfld*        lenfld_Last() __attribute__((nothrow, pure));
 3713// Return number of items in the pool
 3714// func:amc.FDb.lenfld.N
 3715i32                  lenfld_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3716// Delete last element of array. Do nothing if array is empty.
 3717// func:amc.FDb.lenfld.RemoveLast
 3718void                 lenfld_RemoveLast() __attribute__((nothrow));
 3719// 'quick' Access row by row id. No bounds checking.
 3720// func:amc.FDb.lenfld.qFind
 3721amc::FLenfld&        lenfld_qFind(u64 t) __attribute__((nothrow, pure));
 3722// Insert row into all appropriate indices. If error occurs, store error
 3723// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3724// func:amc.FDb.lenfld.XrefMaybe
 3725bool                 lenfld_XrefMaybe(amc::FLenfld &row);
 3726
 3727// Allocate memory for new default row.
 3728// If out of memory, process is killed.
 3729// func:amc.FDb.bltin.Alloc
 3730amc::FBltin&         bltin_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3731// Allocate memory for new element. If out of memory, return NULL.
 3732// func:amc.FDb.bltin.AllocMaybe
 3733amc::FBltin*         bltin_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3734// Create new row from struct.
 3735// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3736// func:amc.FDb.bltin.InsertMaybe
 3737amc::FBltin*         bltin_InsertMaybe(const amcdb::Bltin &value) __attribute__((nothrow));
 3738// Allocate space for one element. If no memory available, return NULL.
 3739// func:amc.FDb.bltin.AllocMem
 3740void*                bltin_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3741// Return true if index is empty
 3742// func:amc.FDb.bltin.EmptyQ
 3743bool                 bltin_EmptyQ() __attribute__((nothrow, pure));
 3744// Look up row by row id. Return NULL if out of range
 3745// func:amc.FDb.bltin.Find
 3746amc::FBltin*         bltin_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3747// Return pointer to last element of array, or NULL if array is empty
 3748// func:amc.FDb.bltin.Last
 3749amc::FBltin*         bltin_Last() __attribute__((nothrow, pure));
 3750// Return number of items in the pool
 3751// func:amc.FDb.bltin.N
 3752i32                  bltin_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3753// Delete last element of array. Do nothing if array is empty.
 3754// func:amc.FDb.bltin.RemoveLast
 3755void                 bltin_RemoveLast() __attribute__((nothrow));
 3756// 'quick' Access row by row id. No bounds checking.
 3757// func:amc.FDb.bltin.qFind
 3758amc::FBltin&         bltin_qFind(u64 t) __attribute__((nothrow, pure));
 3759// Insert row into all appropriate indices. If error occurs, store error
 3760// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3761// func:amc.FDb.bltin.XrefMaybe
 3762bool                 bltin_XrefMaybe(amc::FBltin &row);
 3763
 3764// Allocate memory for new default row.
 3765// If out of memory, process is killed.
 3766// func:amc.FDb.static_tuple.Alloc
 3767amc::FStatictuple&   static_tuple_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3768// Allocate memory for new element. If out of memory, return NULL.
 3769// func:amc.FDb.static_tuple.AllocMaybe
 3770amc::FStatictuple*   static_tuple_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3771// Allocate space for one element. If no memory available, return NULL.
 3772// func:amc.FDb.static_tuple.AllocMem
 3773void*                static_tuple_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3774// Return true if index is empty
 3775// func:amc.FDb.static_tuple.EmptyQ
 3776bool                 static_tuple_EmptyQ() __attribute__((nothrow, pure));
 3777// Look up row by row id. Return NULL if out of range
 3778// func:amc.FDb.static_tuple.Find
 3779amc::FStatictuple*   static_tuple_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3780// Return pointer to last element of array, or NULL if array is empty
 3781// func:amc.FDb.static_tuple.Last
 3782amc::FStatictuple*   static_tuple_Last() __attribute__((nothrow, pure));
 3783// Return number of items in the pool
 3784// func:amc.FDb.static_tuple.N
 3785i32                  static_tuple_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3786// Remove all elements from Lary
 3787// func:amc.FDb.static_tuple.RemoveAll
 3788void                 static_tuple_RemoveAll() __attribute__((nothrow));
 3789// Delete last element of array. Do nothing if array is empty.
 3790// func:amc.FDb.static_tuple.RemoveLast
 3791void                 static_tuple_RemoveLast() __attribute__((nothrow));
 3792// 'quick' Access row by row id. No bounds checking.
 3793// func:amc.FDb.static_tuple.qFind
 3794amc::FStatictuple&   static_tuple_qFind(u64 t) __attribute__((nothrow, pure));
 3795// Insert row into all appropriate indices. If error occurs, store error
 3796// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3797// func:amc.FDb.static_tuple.XrefMaybe
 3798bool                 static_tuple_XrefMaybe(amc::FStatictuple &row);
 3799
 3800// Allocate memory for new default row.
 3801// If out of memory, process is killed.
 3802// func:amc.FDb.msgtype.Alloc
 3803amc::FMsgtype&       msgtype_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3804// Allocate memory for new element. If out of memory, return NULL.
 3805// func:amc.FDb.msgtype.AllocMaybe
 3806amc::FMsgtype*       msgtype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3807// Create new row from struct.
 3808// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3809// func:amc.FDb.msgtype.InsertMaybe
 3810amc::FMsgtype*       msgtype_InsertMaybe(const dmmeta::Msgtype &value) __attribute__((nothrow));
 3811// Allocate space for one element. If no memory available, return NULL.
 3812// func:amc.FDb.msgtype.AllocMem
 3813void*                msgtype_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3814// Return true if index is empty
 3815// func:amc.FDb.msgtype.EmptyQ
 3816bool                 msgtype_EmptyQ() __attribute__((nothrow, pure));
 3817// Look up row by row id. Return NULL if out of range
 3818// func:amc.FDb.msgtype.Find
 3819amc::FMsgtype*       msgtype_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3820// Return pointer to last element of array, or NULL if array is empty
 3821// func:amc.FDb.msgtype.Last
 3822amc::FMsgtype*       msgtype_Last() __attribute__((nothrow, pure));
 3823// Return number of items in the pool
 3824// func:amc.FDb.msgtype.N
 3825i32                  msgtype_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3826// Delete last element of array. Do nothing if array is empty.
 3827// func:amc.FDb.msgtype.RemoveLast
 3828void                 msgtype_RemoveLast() __attribute__((nothrow));
 3829// 'quick' Access row by row id. No bounds checking.
 3830// func:amc.FDb.msgtype.qFind
 3831amc::FMsgtype&       msgtype_qFind(u64 t) __attribute__((nothrow, pure));
 3832// Insert row into all appropriate indices. If error occurs, store error
 3833// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3834// func:amc.FDb.msgtype.XrefMaybe
 3835bool                 msgtype_XrefMaybe(amc::FMsgtype &row);
 3836
 3837// Allocate memory for new default row.
 3838// If out of memory, process is killed.
 3839// func:amc.FDb.gconst.Alloc
 3840amc::FGconst&        gconst_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3841// Allocate memory for new element. If out of memory, return NULL.
 3842// func:amc.FDb.gconst.AllocMaybe
 3843amc::FGconst*        gconst_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3844// Create new row from struct.
 3845// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3846// func:amc.FDb.gconst.InsertMaybe
 3847amc::FGconst*        gconst_InsertMaybe(const dmmeta::Gconst &value) __attribute__((nothrow));
 3848// Allocate space for one element. If no memory available, return NULL.
 3849// func:amc.FDb.gconst.AllocMem
 3850void*                gconst_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3851// Return true if index is empty
 3852// func:amc.FDb.gconst.EmptyQ
 3853bool                 gconst_EmptyQ() __attribute__((nothrow, pure));
 3854// Look up row by row id. Return NULL if out of range
 3855// func:amc.FDb.gconst.Find
 3856amc::FGconst*        gconst_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3857// Return pointer to last element of array, or NULL if array is empty
 3858// func:amc.FDb.gconst.Last
 3859amc::FGconst*        gconst_Last() __attribute__((nothrow, pure));
 3860// Return number of items in the pool
 3861// func:amc.FDb.gconst.N
 3862i32                  gconst_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3863// Delete last element of array. Do nothing if array is empty.
 3864// func:amc.FDb.gconst.RemoveLast
 3865void                 gconst_RemoveLast() __attribute__((nothrow));
 3866// 'quick' Access row by row id. No bounds checking.
 3867// func:amc.FDb.gconst.qFind
 3868amc::FGconst&        gconst_qFind(u64 t) __attribute__((nothrow, pure));
 3869// Insert row into all appropriate indices. If error occurs, store error
 3870// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3871// func:amc.FDb.gconst.XrefMaybe
 3872bool                 gconst_XrefMaybe(amc::FGconst &row);
 3873
 3874// Allocate memory for new default row.
 3875// If out of memory, process is killed.
 3876// func:amc.FDb.gstatic.Alloc
 3877amc::FGstatic&       gstatic_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3878// Allocate memory for new element. If out of memory, return NULL.
 3879// func:amc.FDb.gstatic.AllocMaybe
 3880amc::FGstatic*       gstatic_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3881// Create new row from struct.
 3882// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3883// func:amc.FDb.gstatic.InsertMaybe
 3884amc::FGstatic*       gstatic_InsertMaybe(const dmmeta::Gstatic &value) __attribute__((nothrow));
 3885// Allocate space for one element. If no memory available, return NULL.
 3886// func:amc.FDb.gstatic.AllocMem
 3887void*                gstatic_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3888// Return true if index is empty
 3889// func:amc.FDb.gstatic.EmptyQ
 3890bool                 gstatic_EmptyQ() __attribute__((nothrow, pure));
 3891// Look up row by row id. Return NULL if out of range
 3892// func:amc.FDb.gstatic.Find
 3893amc::FGstatic*       gstatic_Find(u32 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3894// Return pointer to last element of array, or NULL if array is empty
 3895// func:amc.FDb.gstatic.Last
 3896amc::FGstatic*       gstatic_Last() __attribute__((nothrow, pure));
 3897// Return number of items in the pool
 3898// func:amc.FDb.gstatic.N
 3899i32                  gstatic_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3900// Delete last element of array. Do nothing if array is empty.
 3901// func:amc.FDb.gstatic.RemoveLast
 3902void                 gstatic_RemoveLast() __attribute__((nothrow));
 3903// 'quick' Access row by row id. No bounds checking.
 3904// func:amc.FDb.gstatic.qFind
 3905amc::FGstatic&       gstatic_qFind(u32 t) __attribute__((nothrow, pure));
 3906// Insert row into all appropriate indices. If error occurs, store error
 3907// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3908// func:amc.FDb.gstatic.XrefMaybe
 3909bool                 gstatic_XrefMaybe(amc::FGstatic &row);
 3910
 3911// Allocate memory for new default row.
 3912// If out of memory, process is killed.
 3913// func:amc.FDb.thash.Alloc
 3914amc::FThash&         thash_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3915// Allocate memory for new element. If out of memory, return NULL.
 3916// func:amc.FDb.thash.AllocMaybe
 3917amc::FThash*         thash_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3918// Create new row from struct.
 3919// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3920// func:amc.FDb.thash.InsertMaybe
 3921amc::FThash*         thash_InsertMaybe(const dmmeta::Thash &value) __attribute__((nothrow));
 3922// Allocate space for one element. If no memory available, return NULL.
 3923// func:amc.FDb.thash.AllocMem
 3924void*                thash_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3925// Return true if index is empty
 3926// func:amc.FDb.thash.EmptyQ
 3927bool                 thash_EmptyQ() __attribute__((nothrow, pure));
 3928// Look up row by row id. Return NULL if out of range
 3929// func:amc.FDb.thash.Find
 3930amc::FThash*         thash_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3931// Return pointer to last element of array, or NULL if array is empty
 3932// func:amc.FDb.thash.Last
 3933amc::FThash*         thash_Last() __attribute__((nothrow, pure));
 3934// Return number of items in the pool
 3935// func:amc.FDb.thash.N
 3936i32                  thash_N() __attribute__((__warn_unused_result__, nothrow, pure));
 3937// Delete last element of array. Do nothing if array is empty.
 3938// func:amc.FDb.thash.RemoveLast
 3939void                 thash_RemoveLast() __attribute__((nothrow));
 3940// 'quick' Access row by row id. No bounds checking.
 3941// func:amc.FDb.thash.qFind
 3942amc::FThash&         thash_qFind(u64 t) __attribute__((nothrow, pure));
 3943// Insert row into all appropriate indices. If error occurs, store error
 3944// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3945// func:amc.FDb.thash.XrefMaybe
 3946bool                 thash_XrefMaybe(amc::FThash &row);
 3947
 3948// Allocate memory for new default row.
 3949// If out of memory, process is killed.
 3950// func:amc.FDb.outfile.Alloc
 3951amc::FOutfile&       outfile_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3952// Allocate memory for new element. If out of memory, return NULL.
 3953// func:amc.FDb.outfile.AllocMaybe
 3954amc::FOutfile*       outfile_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3955// Remove row from all global and cross indices, then deallocate row
 3956// func:amc.FDb.outfile.Delete
 3957void                 outfile_Delete(amc::FOutfile &row) __attribute__((nothrow));
 3958// Allocate space for one element
 3959// If no memory available, return NULL.
 3960// func:amc.FDb.outfile.AllocMem
 3961void*                outfile_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3962// Remove mem from all global and cross indices, then deallocate mem
 3963// func:amc.FDb.outfile.FreeMem
 3964void                 outfile_FreeMem(amc::FOutfile &row) __attribute__((nothrow));
 3965// Preallocate memory for N more elements
 3966// Return number of elements actually reserved.
 3967// func:amc.FDb.outfile.Reserve
 3968u64                  outfile_Reserve(u64 n_elems) __attribute__((nothrow));
 3969// Allocate block of given size, break up into small elements and append to free list.
 3970// Return number of elements reserved.
 3971// func:amc.FDb.outfile.ReserveMem
 3972u64                  outfile_ReserveMem(u64 size) __attribute__((nothrow));
 3973// Insert row into all appropriate indices. If error occurs, store error
 3974// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 3975// func:amc.FDb.outfile.XrefMaybe
 3976bool                 outfile_XrefMaybe(amc::FOutfile &row);
 3977
 3978// Allocate memory for new default row.
 3979// If out of memory, process is killed.
 3980// func:amc.FDb.func.Alloc
 3981amc::FFunc&          func_Alloc() __attribute__((__warn_unused_result__, nothrow));
 3982// Allocate memory for new element. If out of memory, return NULL.
 3983// func:amc.FDb.func.AllocMaybe
 3984amc::FFunc*          func_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 3985// Create new row from struct.
 3986// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 3987// func:amc.FDb.func.InsertMaybe
 3988amc::FFunc*          func_InsertMaybe(const dmmeta::Func &value) __attribute__((nothrow));
 3989// Allocate space for one element. If no memory available, return NULL.
 3990// func:amc.FDb.func.AllocMem
 3991void*                func_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 3992// Return true if index is empty
 3993// func:amc.FDb.func.EmptyQ
 3994bool                 func_EmptyQ() __attribute__((nothrow, pure));
 3995// Look up row by row id. Return NULL if out of range
 3996// func:amc.FDb.func.Find
 3997amc::FFunc*          func_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 3998// Return pointer to last element of array, or NULL if array is empty
 3999// func:amc.FDb.func.Last
 4000amc::FFunc*          func_Last() __attribute__((nothrow, pure));
 4001// Return number of items in the pool
 4002// func:amc.FDb.func.N
 4003i32                  func_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4004// Delete last element of array. Do nothing if array is empty.
 4005// func:amc.FDb.func.RemoveLast
 4006void                 func_RemoveLast() __attribute__((nothrow));
 4007// 'quick' Access row by row id. No bounds checking.
 4008// func:amc.FDb.func.qFind
 4009amc::FFunc&          func_qFind(u64 t) __attribute__((nothrow, pure));
 4010// Insert row into all appropriate indices. If error occurs, store error
 4011// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 4012// func:amc.FDb.func.XrefMaybe
 4013bool                 func_XrefMaybe(amc::FFunc &row);
 4014
 4015// Allocate memory for new default row.
 4016// If out of memory, process is killed.
 4017// func:amc.FDb.smallstr.Alloc
 4018amc::FSmallstr&      smallstr_Alloc() __attribute__((__warn_unused_result__, nothrow));
 4019// Allocate memory for new element. If out of memory, return NULL.
 4020// func:amc.FDb.smallstr.AllocMaybe
 4021amc::FSmallstr*      smallstr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 4022// Create new row from struct.
 4023// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 4024// func:amc.FDb.smallstr.InsertMaybe
 4025amc::FSmallstr*      smallstr_InsertMaybe(const dmmeta::Smallstr &value) __attribute__((nothrow));
 4026// Allocate space for one element. If no memory available, return NULL.
 4027// func:amc.FDb.smallstr.AllocMem
 4028void*                smallstr_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 4029// Return true if index is empty
 4030// func:amc.FDb.smallstr.EmptyQ
 4031bool                 smallstr_EmptyQ() __attribute__((nothrow, pure));
 4032// Look up row by row id. Return NULL if out of range
 4033// func:amc.FDb.smallstr.Find
 4034amc::FSmallstr*      smallstr_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 4035// Return pointer to last element of array, or NULL if array is empty
 4036// func:amc.FDb.smallstr.Last
 4037amc::FSmallstr*      smallstr_Last() __attribute__((nothrow, pure));
 4038// Return number of items in the pool
 4039// func:amc.FDb.smallstr.N
 4040i32                  smallstr_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4041// Delete last element of array. Do nothing if array is empty.
 4042// func:amc.FDb.smallstr.RemoveLast
 4043void                 smallstr_RemoveLast() __attribute__((nothrow));
 4044// 'quick' Access row by row id. No bounds checking.
 4045// func:amc.FDb.smallstr.qFind
 4046amc::FSmallstr&      smallstr_qFind(u64 t) __attribute__((nothrow, pure));
 4047// Insert row into all appropriate indices. If error occurs, store error
 4048// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 4049// func:amc.FDb.smallstr.XrefMaybe
 4050bool                 smallstr_XrefMaybe(amc::FSmallstr &row);
 4051
 4052// Allocate memory for new default row.
 4053// If out of memory, process is killed.
 4054// func:amc.FDb.numstr.Alloc
 4055amc::FNumstr&        numstr_Alloc() __attribute__((__warn_unused_result__, nothrow));
 4056// Allocate memory for new element. If out of memory, return NULL.
 4057// func:amc.FDb.numstr.AllocMaybe
 4058amc::FNumstr*        numstr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 4059// Create new row from struct.
 4060// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 4061// func:amc.FDb.numstr.InsertMaybe
 4062amc::FNumstr*        numstr_InsertMaybe(const dmmeta::Numstr &value) __attribute__((nothrow));
 4063// Allocate space for one element. If no memory available, return NULL.
 4064// func:amc.FDb.numstr.AllocMem
 4065void*                numstr_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 4066// Return true if index is empty
 4067// func:amc.FDb.numstr.EmptyQ
 4068bool                 numstr_EmptyQ() __attribute__((nothrow, pure));
 4069// Look up row by row id. Return NULL if out of range
 4070// func:amc.FDb.numstr.Find
 4071amc::FNumstr*        numstr_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 4072// Return pointer to last element of array, or NULL if array is empty
 4073// func:amc.FDb.numstr.Last
 4074amc::FNumstr*        numstr_Last() __attribute__((nothrow, pure));
 4075// Return number of items in the pool
 4076// func:amc.FDb.numstr.N
 4077i32                  numstr_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4078// Delete last element of array. Do nothing if array is empty.
 4079// func:amc.FDb.numstr.RemoveLast
 4080void                 numstr_RemoveLast() __attribute__((nothrow));
 4081// 'quick' Access row by row id. No bounds checking.
 4082// func:amc.FDb.numstr.qFind
 4083amc::FNumstr&        numstr_qFind(u64 t) __attribute__((nothrow, pure));
 4084// Insert row into all appropriate indices. If error occurs, store error
 4085// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 4086// func:amc.FDb.numstr.XrefMaybe
 4087bool                 numstr_XrefMaybe(amc::FNumstr &row);
 4088
 4089// Allocate memory for new default row.
 4090// If out of memory, process is killed.
 4091// func:amc.FDb.main.Alloc
 4092amc::FMain&          main_Alloc() __attribute__((__warn_unused_result__, nothrow));
 4093// Allocate memory for new element. If out of memory, return NULL.
 4094// func:amc.FDb.main.AllocMaybe
 4095amc::FMain*          main_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 4096// Create new row from struct.
 4097// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 4098// func:amc.FDb.main.InsertMaybe
 4099amc::FMain*          main_InsertMaybe(const dmmeta::Main &value) __attribute__((nothrow));
 4100// Allocate space for one element. If no memory available, return NULL.
 4101// func:amc.FDb.main.AllocMem
 4102void*                main_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 4103// Return true if index is empty
 4104// func:amc.FDb.main.EmptyQ
 4105bool                 main_EmptyQ() __attribute__((nothrow, pure));
 4106// Look up row by row id. Return NULL if out of range
 4107// func:amc.FDb.main.Find
 4108amc::FMain*          main_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 4109// Return pointer to last element of array, or NULL if array is empty
 4110// func:amc.FDb.main.Last
 4111amc::FMain*          main_Last() __attribute__((nothrow, pure));
 4112// Return number of items in the pool
 4113// func:amc.FDb.main.N
 4114i32                  main_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4115// Delete last element of array. Do nothing if array is empty.
 4116// func:amc.FDb.main.RemoveLast
 4117void                 main_RemoveLast() __attribute__((nothrow));
 4118// 'quick' Access row by row id. No bounds checking.
 4119// func:amc.FDb.main.qFind
 4120amc::FMain&          main_qFind(u64 t) __attribute__((nothrow, pure));
 4121// Insert row into all appropriate indices. If error occurs, store error
 4122// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 4123// func:amc.FDb.main.XrefMaybe
 4124bool                 main_XrefMaybe(amc::FMain &row);
 4125
 4126// Allocate memory for new default row.
 4127// If out of memory, process is killed.
 4128// func:amc.FDb.reftype.Alloc
 4129amc::FReftype&       reftype_Alloc() __attribute__((__warn_unused_result__, nothrow));
 4130// Allocate memory for new element. If out of memory, return NULL.
 4131// func:amc.FDb.reftype.AllocMaybe
 4132amc::FReftype*       reftype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 4133// Create new row from struct.
 4134// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 4135// func:amc.FDb.reftype.InsertMaybe
 4136amc::FReftype*       reftype_InsertMaybe(const dmmeta::Reftype &value) __attribute__((nothrow));
 4137// Allocate space for one element. If no memory available, return NULL.
 4138// func:amc.FDb.reftype.AllocMem
 4139void*                reftype_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 4140// Return true if index is empty
 4141// func:amc.FDb.reftype.EmptyQ
 4142bool                 reftype_EmptyQ() __attribute__((nothrow, pure));
 4143// Look up row by row id. Return NULL if out of range
 4144// func:amc.FDb.reftype.Find
 4145amc::FReftype*       reftype_Find(i32 t) __attribute__((__warn_unused_result__, nothrow, pure));
 4146// Return pointer to last element of array, or NULL if array is empty
 4147// func:amc.FDb.reftype.Last
 4148amc::FReftype*       reftype_Last() __attribute__((nothrow, pure));
 4149// Return number of items in the pool
 4150// func:amc.FDb.reftype.N
 4151i32                  reftype_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4152// Remove all elements from Lary
 4153// func:amc.FDb.reftype.RemoveAll
 4154void                 reftype_RemoveAll() __attribute__((nothrow));
 4155// Delete last element of array. Do nothing if array is empty.
 4156// func:amc.FDb.reftype.RemoveLast
 4157void                 reftype_RemoveLast() __attribute__((nothrow));
 4158// 'quick' Access row by row id. No bounds checking.
 4159// func:amc.FDb.reftype.qFind
 4160amc::FReftype&       reftype_qFind(i32 t) __attribute__((nothrow, pure));
 4161// Insert row into all appropriate indices. If error occurs, store error
 4162// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 4163// func:amc.FDb.reftype.XrefMaybe
 4164bool                 reftype_XrefMaybe(amc::FReftype &row);
 4165
 4166// Read argc,argv directly into the fields of the command line(s)
 4167// The following fields are updated:
 4168//     amc.FDb.cmdline
 4169//     algo_lib.FDb.cmdline
 4170// func:amc.FDb._db.ReadArgv
 4171void                 ReadArgv() __attribute__((nothrow));
 4172// Main loop.
 4173// func:amc.FDb._db.MainLoop
 4174void                 MainLoop();
 4175// Main step
 4176// func:amc.FDb._db.Step
 4177void                 Step();
 4178// Main function
 4179// func:amc.FDb._db.Main
 4180// this function is 'extrn' and implemented by user
 4181void                 Main();
 4182// Parse strptr into known type and add to database.
 4183// Return value is true unless an error occurs. If return value is false, algo_lib::_db.errtext has error text
 4184// func:amc.FDb._db.InsertStrptrMaybe
 4185bool                 InsertStrptrMaybe(algo::strptr str);
 4186// Load all finputs from given directory.
 4187// func:amc.FDb._db.LoadTuplesMaybe
 4188bool                 LoadTuplesMaybe(algo::strptr root, bool recursive) __attribute__((nothrow));
 4189// Load all finputs from given file.
 4190// Read tuples from file FNAME into this namespace's in-memory database.
 4191// If RECURSIVE is TRUE, then also load these tuples into any parent namespaces
 4192// It a file referred to by FNAME is missing, no error is reported (it's considered an empty set).
 4193// Function returns TRUE if all records were parsed and inserted without error.
 4194// If the function returns FALSE, use algo_lib::DetachBadTags() for error description
 4195// func:amc.FDb._db.LoadTuplesFile
 4196bool                 LoadTuplesFile(algo::strptr fname, bool recursive) __attribute__((nothrow));
 4197// Load all finputs from given file descriptor.
 4198// func:amc.FDb._db.LoadTuplesFd
 4199bool                 LoadTuplesFd(algo::Fildes fd, algo::strptr fname, bool recursive) __attribute__((nothrow));
 4200// Save ssim data to given directory.
 4201// func:amc.FDb._db.SaveTuples
 4202u32                  SaveTuples(algo::strptr root) __attribute__((nothrow));
 4203// Load specified ssimfile.
 4204// func:amc.FDb._db.LoadSsimfileMaybe
 4205bool                 LoadSsimfileMaybe(algo::strptr fname, bool recursive) __attribute__((nothrow));
 4206// Calls Step function of dependencies
 4207// func:amc.FDb._db.Steps
 4208void                 Steps();
 4209// Insert row into all appropriate indices. If error occurs, store error
 4210// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 4211// func:amc.FDb._db.XrefMaybe
 4212bool                 _db_XrefMaybe();
 4213
 4214// Return true if hash is empty
 4215// func:amc.FDb.ind_bltin.EmptyQ
 4216bool                 ind_bltin_EmptyQ() __attribute__((nothrow));
 4217// Find row by key. Return NULL if not found.
 4218// func:amc.FDb.ind_bltin.Find
 4219amc::FBltin*         ind_bltin_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 4220// Find row by key. If not found, create and x-reference a new row with with this key.
 4221// func:amc.FDb.ind_bltin.GetOrCreate
 4222amc::FBltin&         ind_bltin_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 4223// Return number of items in the hash
 4224// func:amc.FDb.ind_bltin.N
 4225i32                  ind_bltin_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4226// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 4227// func:amc.FDb.ind_bltin.InsertMaybe
 4228bool                 ind_bltin_InsertMaybe(amc::FBltin& row) __attribute__((nothrow));
 4229// Remove reference to element from hash index. If element is not in hash, do nothing
 4230// func:amc.FDb.ind_bltin.Remove
 4231void                 ind_bltin_Remove(amc::FBltin& row) __attribute__((nothrow));
 4232// Reserve enough room in the hash for N more elements. Return success code.
 4233// func:amc.FDb.ind_bltin.Reserve
 4234void                 ind_bltin_Reserve(int n) __attribute__((nothrow));
 4235
 4236// Return true if hash is empty
 4237// func:amc.FDb.ind_ctype.EmptyQ
 4238bool                 ind_ctype_EmptyQ() __attribute__((nothrow));
 4239// Find row by key. Return NULL if not found.
 4240// func:amc.FDb.ind_ctype.Find
 4241amc::FCtype*         ind_ctype_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 4242// Find row by key. If not found, create and x-reference a new row with with this key.
 4243// func:amc.FDb.ind_ctype.GetOrCreate
 4244amc::FCtype&         ind_ctype_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 4245// Return number of items in the hash
 4246// func:amc.FDb.ind_ctype.N
 4247i32                  ind_ctype_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4248// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 4249// func:amc.FDb.ind_ctype.InsertMaybe
 4250bool                 ind_ctype_InsertMaybe(amc::FCtype& row) __attribute__((nothrow));
 4251// Remove reference to element from hash index. If element is not in hash, do nothing
 4252// func:amc.FDb.ind_ctype.Remove
 4253void                 ind_ctype_Remove(amc::FCtype& row) __attribute__((nothrow));
 4254// Reserve enough room in the hash for N more elements. Return success code.
 4255// func:amc.FDb.ind_ctype.Reserve
 4256void                 ind_ctype_Reserve(int n) __attribute__((nothrow));
 4257
 4258// Return true if hash is empty
 4259// func:amc.FDb.ind_dispatch.EmptyQ
 4260bool                 ind_dispatch_EmptyQ() __attribute__((nothrow));
 4261// Find row by key. Return NULL if not found.
 4262// func:amc.FDb.ind_dispatch.Find
 4263amc::FDispatch*      ind_dispatch_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 4264// Find row by key. If not found, create and x-reference a new row with with this key.
 4265// func:amc.FDb.ind_dispatch.GetOrCreate
 4266amc::FDispatch&      ind_dispatch_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 4267// Return number of items in the hash
 4268// func:amc.FDb.ind_dispatch.N
 4269i32                  ind_dispatch_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4270// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 4271// func:amc.FDb.ind_dispatch.InsertMaybe
 4272bool                 ind_dispatch_InsertMaybe(amc::FDispatch& row) __attribute__((nothrow));
 4273// Remove reference to element from hash index. If element is not in hash, do nothing
 4274// func:amc.FDb.ind_dispatch.Remove
 4275void                 ind_dispatch_Remove(amc::FDispatch& row) __attribute__((nothrow));
 4276// Reserve enough room in the hash for N more elements. Return success code.
 4277// func:amc.FDb.ind_dispatch.Reserve
 4278void                 ind_dispatch_Reserve(int n) __attribute__((nothrow));
 4279
 4280// Return true if hash is empty
 4281// func:amc.FDb.ind_func.EmptyQ
 4282bool                 ind_func_EmptyQ() __attribute__((nothrow));
 4283// Find row by key. Return NULL if not found.
 4284// func:amc.FDb.ind_func.Find
 4285amc::FFunc*          ind_func_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 4286// Find row by key. If not found, create and x-reference a new row with with this key.
 4287// func:amc.FDb.ind_func.GetOrCreate
 4288amc::FFunc&          ind_func_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 4289// Return number of items in the hash
 4290// func:amc.FDb.ind_func.N
 4291i32                  ind_func_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4292// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 4293// func:amc.FDb.ind_func.InsertMaybe
 4294bool                 ind_func_InsertMaybe(amc::FFunc& row) __attribute__((nothrow));
 4295// Remove reference to element from hash index. If element is not in hash, do nothing
 4296// func:amc.FDb.ind_func.Remove
 4297void                 ind_func_Remove(amc::FFunc& row) __attribute__((nothrow));
 4298// Reserve enough room in the hash for N more elements. Return success code.
 4299// func:amc.FDb.ind_func.Reserve
 4300void                 ind_func_Reserve(int n) __attribute__((nothrow));
 4301
 4302// Return true if hash is empty
 4303// func:amc.FDb.ind_field.EmptyQ
 4304bool                 ind_field_EmptyQ() __attribute__((nothrow));
 4305// Find row by key. Return NULL if not found.
 4306// func:amc.FDb.ind_field.Find
 4307amc::FField*         ind_field_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 4308// Return number of items in the hash
 4309// func:amc.FDb.ind_field.N
 4310i32                  ind_field_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4311// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 4312// func:amc.FDb.ind_field.InsertMaybe
 4313bool                 ind_field_InsertMaybe(amc::FField& row) __attribute__((nothrow));
 4314// Remove reference to element from hash index. If element is not in hash, do nothing
 4315// func:amc.FDb.ind_field.Remove
 4316void                 ind_field_Remove(amc::FField& row) __attribute__((nothrow));
 4317// Reserve enough room in the hash for N more elements. Return success code.
 4318// func:amc.FDb.ind_field.Reserve
 4319void                 ind_field_Reserve(int n) __attribute__((nothrow));
 4320
 4321// Return true if hash is empty
 4322// func:amc.FDb.ind_ns.EmptyQ
 4323bool                 ind_ns_EmptyQ() __attribute__((nothrow));
 4324// Find row by key. Return NULL if not found.
 4325// func:amc.FDb.ind_ns.Find
 4326amc::FNs*            ind_ns_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 4327// Find row by key. If not found, create and x-reference a new row with with this key.
 4328// func:amc.FDb.ind_ns.GetOrCreate
 4329amc::FNs&            ind_ns_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 4330// Return number of items in the hash
 4331// func:amc.FDb.ind_ns.N
 4332i32                  ind_ns_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4333// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 4334// func:amc.FDb.ind_ns.InsertMaybe
 4335bool                 ind_ns_InsertMaybe(amc::FNs& row) __attribute__((nothrow));
 4336// Remove reference to element from hash index. If element is not in hash, do nothing
 4337// func:amc.FDb.ind_ns.Remove
 4338void                 ind_ns_Remove(amc::FNs& row) __attribute__((nothrow));
 4339// Reserve enough room in the hash for N more elements. Return success code.
 4340// func:amc.FDb.ind_ns.Reserve
 4341void                 ind_ns_Reserve(int n) __attribute__((nothrow));
 4342
 4343// Return true if hash is empty
 4344// func:amc.FDb.ind_pnew.EmptyQ
 4345bool                 ind_pnew_EmptyQ() __attribute__((nothrow));
 4346// Find row by key. Return NULL if not found.
 4347// func:amc.FDb.ind_pnew.Find
 4348amc::FPnew*          ind_pnew_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 4349// Find row by key. If not found, create and x-reference a new row with with this key.
 4350// func:amc.FDb.ind_pnew.GetOrCreate
 4351amc::FPnew&          ind_pnew_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 4352// Return number of items in the hash
 4353// func:amc.FDb.ind_pnew.N
 4354i32                  ind_pnew_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4355// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 4356// func:amc.FDb.ind_pnew.InsertMaybe
 4357bool                 ind_pnew_InsertMaybe(amc::FPnew& row) __attribute__((nothrow));
 4358// Remove reference to element from hash index. If element is not in hash, do nothing
 4359// func:amc.FDb.ind_pnew.Remove
 4360void                 ind_pnew_Remove(amc::FPnew& row) __attribute__((nothrow));
 4361// Reserve enough room in the hash for N more elements. Return success code.
 4362// func:amc.FDb.ind_pnew.Reserve
 4363void                 ind_pnew_Reserve(int n) __attribute__((nothrow));
 4364
 4365// Return true if hash is empty
 4366// func:amc.FDb.ind_xref.EmptyQ
 4367bool                 ind_xref_EmptyQ() __attribute__((nothrow));
 4368// Find row by key. Return NULL if not found.
 4369// func:amc.FDb.ind_xref.Find
 4370amc::FXref*          ind_xref_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 4371// Find row by key. If not found, create and x-reference a new row with with this key.
 4372// func:amc.FDb.ind_xref.GetOrCreate
 4373amc::FXref&          ind_xref_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 4374// Return number of items in the hash
 4375// func:amc.FDb.ind_xref.N
 4376i32                  ind_xref_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4377// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 4378// func:amc.FDb.ind_xref.InsertMaybe
 4379bool                 ind_xref_InsertMaybe(amc::FXref& row) __attribute__((nothrow));
 4380// Remove reference to element from hash index. If element is not in hash, do nothing
 4381// func:amc.FDb.ind_xref.Remove
 4382void                 ind_xref_Remove(amc::FXref& row) __attribute__((nothrow));
 4383// Reserve enough room in the hash for N more elements. Return success code.
 4384// func:amc.FDb.ind_xref.Reserve
 4385void                 ind_xref_Reserve(int n) __attribute__((nothrow));
 4386
 4387// Allocate memory for new default row.
 4388// If out of memory, process is killed.
 4389// func:amc.FDb.cpptype.Alloc
 4390amc::FCpptype&       cpptype_Alloc() __attribute__((__warn_unused_result__, nothrow));
 4391// Allocate memory for new element. If out of memory, return NULL.
 4392// func:amc.FDb.cpptype.AllocMaybe
 4393amc::FCpptype*       cpptype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 4394// Create new row from struct.
 4395// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 4396// func:amc.FDb.cpptype.InsertMaybe
 4397amc::FCpptype*       cpptype_InsertMaybe(const dmmeta::Cpptype &value) __attribute__((nothrow));
 4398// Allocate space for one element. If no memory available, return NULL.
 4399// func:amc.FDb.cpptype.AllocMem
 4400void*                cpptype_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 4401// Return true if index is empty
 4402// func:amc.FDb.cpptype.EmptyQ
 4403bool                 cpptype_EmptyQ() __attribute__((nothrow, pure));
 4404// Look up row by row id. Return NULL if out of range
 4405// func:amc.FDb.cpptype.Find
 4406amc::FCpptype*       cpptype_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 4407// Return pointer to last element of array, or NULL if array is empty
 4408// func:amc.FDb.cpptype.Last
 4409amc::FCpptype*       cpptype_Last() __attribute__((nothrow, pure));
 4410// Return number of items in the pool
 4411// func:amc.FDb.cpptype.N
 4412i32                  cpptype_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4413// Delete last element of array. Do nothing if array is empty.
 4414// func:amc.FDb.cpptype.RemoveLast
 4415void                 cpptype_RemoveLast() __attribute__((nothrow));
 4416// 'quick' Access row by row id. No bounds checking.
 4417// func:amc.FDb.cpptype.qFind
 4418amc::FCpptype&       cpptype_qFind(u64 t) __attribute__((nothrow, pure));
 4419// Insert row into all appropriate indices. If error occurs, store error
 4420// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 4421// func:amc.FDb.cpptype.XrefMaybe
 4422bool                 cpptype_XrefMaybe(amc::FCpptype &row);
 4423
 4424// Return true if hash is empty
 4425// func:amc.FDb.ind_cpptype.EmptyQ
 4426bool                 ind_cpptype_EmptyQ() __attribute__((nothrow));
 4427// Find row by key. Return NULL if not found.
 4428// func:amc.FDb.ind_cpptype.Find
 4429amc::FCpptype*       ind_cpptype_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 4430// Find row by key. If not found, create and x-reference a new row with with this key.
 4431// func:amc.FDb.ind_cpptype.GetOrCreate
 4432amc::FCpptype&       ind_cpptype_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 4433// Return number of items in the hash
 4434// func:amc.FDb.ind_cpptype.N
 4435i32                  ind_cpptype_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4436// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 4437// func:amc.FDb.ind_cpptype.InsertMaybe
 4438bool                 ind_cpptype_InsertMaybe(amc::FCpptype& row) __attribute__((nothrow));
 4439// Remove reference to element from hash index. If element is not in hash, do nothing
 4440// func:amc.FDb.ind_cpptype.Remove
 4441void                 ind_cpptype_Remove(amc::FCpptype& row) __attribute__((nothrow));
 4442// Reserve enough room in the hash for N more elements. Return success code.
 4443// func:amc.FDb.ind_cpptype.Reserve
 4444void                 ind_cpptype_Reserve(int n) __attribute__((nothrow));
 4445
 4446// Allocate memory for new default row.
 4447// If out of memory, process is killed.
 4448// func:amc.FDb.inlary.Alloc
 4449amc::FInlary&        inlary_Alloc() __attribute__((__warn_unused_result__, nothrow));
 4450// Allocate memory for new element. If out of memory, return NULL.
 4451// func:amc.FDb.inlary.AllocMaybe
 4452amc::FInlary*        inlary_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 4453// Create new row from struct.
 4454// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 4455// func:amc.FDb.inlary.InsertMaybe
 4456amc::FInlary*        inlary_InsertMaybe(const dmmeta::Inlary &value) __attribute__((nothrow));
 4457// Allocate space for one element. If no memory available, return NULL.
 4458// func:amc.FDb.inlary.AllocMem
 4459void*                inlary_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 4460// Return true if index is empty
 4461// func:amc.FDb.inlary.EmptyQ
 4462bool                 inlary_EmptyQ() __attribute__((nothrow, pure));
 4463// Look up row by row id. Return NULL if out of range
 4464// func:amc.FDb.inlary.Find
 4465amc::FInlary*        inlary_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 4466// Return pointer to last element of array, or NULL if array is empty
 4467// func:amc.FDb.inlary.Last
 4468amc::FInlary*        inlary_Last() __attribute__((nothrow, pure));
 4469// Return number of items in the pool
 4470// func:amc.FDb.inlary.N
 4471i32                  inlary_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4472// Delete last element of array. Do nothing if array is empty.
 4473// func:amc.FDb.inlary.RemoveLast
 4474void                 inlary_RemoveLast() __attribute__((nothrow));
 4475// 'quick' Access row by row id. No bounds checking.
 4476// func:amc.FDb.inlary.qFind
 4477amc::FInlary&        inlary_qFind(u64 t) __attribute__((nothrow, pure));
 4478// Insert row into all appropriate indices. If error occurs, store error
 4479// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 4480// func:amc.FDb.inlary.XrefMaybe
 4481bool                 inlary_XrefMaybe(amc::FInlary &row);
 4482
 4483// Return true if hash is empty
 4484// func:amc.FDb.ind_inlary.EmptyQ
 4485bool                 ind_inlary_EmptyQ() __attribute__((nothrow));
 4486// Find row by key. Return NULL if not found.
 4487// func:amc.FDb.ind_inlary.Find
 4488amc::FInlary*        ind_inlary_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 4489// Find row by key. If not found, create and x-reference a new row with with this key.
 4490// func:amc.FDb.ind_inlary.GetOrCreate
 4491amc::FInlary&        ind_inlary_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 4492// Return number of items in the hash
 4493// func:amc.FDb.ind_inlary.N
 4494i32                  ind_inlary_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4495// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 4496// func:amc.FDb.ind_inlary.InsertMaybe
 4497bool                 ind_inlary_InsertMaybe(amc::FInlary& row) __attribute__((nothrow));
 4498// Remove reference to element from hash index. If element is not in hash, do nothing
 4499// func:amc.FDb.ind_inlary.Remove
 4500void                 ind_inlary_Remove(amc::FInlary& row) __attribute__((nothrow));
 4501// Reserve enough room in the hash for N more elements. Return success code.
 4502// func:amc.FDb.ind_inlary.Reserve
 4503void                 ind_inlary_Reserve(int n) __attribute__((nothrow));
 4504
 4505// Allocate memory for new default row.
 4506// If out of memory, process is killed.
 4507// func:amc.FDb.tary.Alloc
 4508amc::FTary&          tary_Alloc() __attribute__((__warn_unused_result__, nothrow));
 4509// Allocate memory for new element. If out of memory, return NULL.
 4510// func:amc.FDb.tary.AllocMaybe
 4511amc::FTary*          tary_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 4512// Create new row from struct.
 4513// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 4514// func:amc.FDb.tary.InsertMaybe
 4515amc::FTary*          tary_InsertMaybe(const dmmeta::Tary &value) __attribute__((nothrow));
 4516// Allocate space for one element. If no memory available, return NULL.
 4517// func:amc.FDb.tary.AllocMem
 4518void*                tary_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 4519// Return true if index is empty
 4520// func:amc.FDb.tary.EmptyQ
 4521bool                 tary_EmptyQ() __attribute__((nothrow, pure));
 4522// Look up row by row id. Return NULL if out of range
 4523// func:amc.FDb.tary.Find
 4524amc::FTary*          tary_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 4525// Return pointer to last element of array, or NULL if array is empty
 4526// func:amc.FDb.tary.Last
 4527amc::FTary*          tary_Last() __attribute__((nothrow, pure));
 4528// Return number of items in the pool
 4529// func:amc.FDb.tary.N
 4530i32                  tary_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4531// Delete last element of array. Do nothing if array is empty.
 4532// func:amc.FDb.tary.RemoveLast
 4533void                 tary_RemoveLast() __attribute__((nothrow));
 4534// 'quick' Access row by row id. No bounds checking.
 4535// func:amc.FDb.tary.qFind
 4536amc::FTary&          tary_qFind(u64 t) __attribute__((nothrow, pure));
 4537// Insert row into all appropriate indices. If error occurs, store error
 4538// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 4539// func:amc.FDb.tary.XrefMaybe
 4540bool                 tary_XrefMaybe(amc::FTary &row);
 4541
 4542// Return true if hash is empty
 4543// func:amc.FDb.ind_tary.EmptyQ
 4544bool                 ind_tary_EmptyQ() __attribute__((nothrow));
 4545// Find row by key. Return NULL if not found.
 4546// func:amc.FDb.ind_tary.Find
 4547amc::FTary*          ind_tary_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 4548// Find row by key. If not found, create and x-reference a new row with with this key.
 4549// func:amc.FDb.ind_tary.GetOrCreate
 4550amc::FTary&          ind_tary_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 4551// Return number of items in the hash
 4552// func:amc.FDb.ind_tary.N
 4553i32                  ind_tary_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4554// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 4555// func:amc.FDb.ind_tary.InsertMaybe
 4556bool                 ind_tary_InsertMaybe(amc::FTary& row) __attribute__((nothrow));
 4557// Remove reference to element from hash index. If element is not in hash, do nothing
 4558// func:amc.FDb.ind_tary.Remove
 4559void                 ind_tary_Remove(amc::FTary& row) __attribute__((nothrow));
 4560// Reserve enough room in the hash for N more elements. Return success code.
 4561// func:amc.FDb.ind_tary.Reserve
 4562void                 ind_tary_Reserve(int n) __attribute__((nothrow));
 4563
 4564// Allocate memory for new default row.
 4565// If out of memory, process is killed.
 4566// func:amc.FDb.cppfunc.Alloc
 4567amc::FCppfunc&       cppfunc_Alloc() __attribute__((__warn_unused_result__, nothrow));
 4568// Allocate memory for new element. If out of memory, return NULL.
 4569// func:amc.FDb.cppfunc.AllocMaybe
 4570amc::FCppfunc*       cppfunc_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 4571// Create new row from struct.
 4572// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 4573// func:amc.FDb.cppfunc.InsertMaybe
 4574amc::FCppfunc*       cppfunc_InsertMaybe(const dmmeta::Cppfunc &value) __attribute__((nothrow));
 4575// Allocate space for one element. If no memory available, return NULL.
 4576// func:amc.FDb.cppfunc.AllocMem
 4577void*                cppfunc_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 4578// Return true if index is empty
 4579// func:amc.FDb.cppfunc.EmptyQ
 4580bool                 cppfunc_EmptyQ() __attribute__((nothrow, pure));
 4581// Look up row by row id. Return NULL if out of range
 4582// func:amc.FDb.cppfunc.Find
 4583amc::FCppfunc*       cppfunc_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 4584// Return pointer to last element of array, or NULL if array is empty
 4585// func:amc.FDb.cppfunc.Last
 4586amc::FCppfunc*       cppfunc_Last() __attribute__((nothrow, pure));
 4587// Return number of items in the pool
 4588// func:amc.FDb.cppfunc.N
 4589i32                  cppfunc_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4590// Delete last element of array. Do nothing if array is empty.
 4591// func:amc.FDb.cppfunc.RemoveLast
 4592void                 cppfunc_RemoveLast() __attribute__((nothrow));
 4593// 'quick' Access row by row id. No bounds checking.
 4594// func:amc.FDb.cppfunc.qFind
 4595amc::FCppfunc&       cppfunc_qFind(u64 t) __attribute__((nothrow, pure));
 4596// Insert row into all appropriate indices. If error occurs, store error
 4597// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 4598// func:amc.FDb.cppfunc.XrefMaybe
 4599bool                 cppfunc_XrefMaybe(amc::FCppfunc &row);
 4600
 4601// Allocate memory for new default row.
 4602// If out of memory, process is killed.
 4603// func:amc.FDb.rowid.Alloc
 4604amc::FRowid&         rowid_Alloc() __attribute__((__warn_unused_result__, nothrow));
 4605// Allocate memory for new element. If out of memory, return NULL.
 4606// func:amc.FDb.rowid.AllocMaybe
 4607amc::FRowid*         rowid_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 4608// Create new row from struct.
 4609// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 4610// func:amc.FDb.rowid.InsertMaybe
 4611amc::FRowid*         rowid_InsertMaybe(const dmmeta::Rowid &value) __attribute__((nothrow));
 4612// Allocate space for one element. If no memory available, return NULL.
 4613// func:amc.FDb.rowid.AllocMem
 4614void*                rowid_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 4615// Return true if index is empty
 4616// func:amc.FDb.rowid.EmptyQ
 4617bool                 rowid_EmptyQ() __attribute__((nothrow, pure));
 4618// Look up row by row id. Return NULL if out of range
 4619// func:amc.FDb.rowid.Find
 4620amc::FRowid*         rowid_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 4621// Return pointer to last element of array, or NULL if array is empty
 4622// func:amc.FDb.rowid.Last
 4623amc::FRowid*         rowid_Last() __attribute__((nothrow, pure));
 4624// Return number of items in the pool
 4625// func:amc.FDb.rowid.N
 4626i32                  rowid_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4627// Delete last element of array. Do nothing if array is empty.
 4628// func:amc.FDb.rowid.RemoveLast
 4629void                 rowid_RemoveLast() __attribute__((nothrow));
 4630// 'quick' Access row by row id. No bounds checking.
 4631// func:amc.FDb.rowid.qFind
 4632amc::FRowid&         rowid_qFind(u64 t) __attribute__((nothrow, pure));
 4633// Insert row into all appropriate indices. If error occurs, store error
 4634// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 4635// func:amc.FDb.rowid.XrefMaybe
 4636bool                 rowid_XrefMaybe(amc::FRowid &row);
 4637
 4638// Return true if hash is empty
 4639// func:amc.FDb.ind_rowid.EmptyQ
 4640bool                 ind_rowid_EmptyQ() __attribute__((nothrow));
 4641// Find row by key. Return NULL if not found.
 4642// func:amc.FDb.ind_rowid.Find
 4643amc::FRowid*         ind_rowid_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 4644// Find row by key. If not found, create and x-reference a new row with with this key.
 4645// func:amc.FDb.ind_rowid.GetOrCreate
 4646amc::FRowid&         ind_rowid_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 4647// Return number of items in the hash
 4648// func:amc.FDb.ind_rowid.N
 4649i32                  ind_rowid_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4650// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 4651// func:amc.FDb.ind_rowid.InsertMaybe
 4652bool                 ind_rowid_InsertMaybe(amc::FRowid& row) __attribute__((nothrow));
 4653// Remove reference to element from hash index. If element is not in hash, do nothing
 4654// func:amc.FDb.ind_rowid.Remove
 4655void                 ind_rowid_Remove(amc::FRowid& row) __attribute__((nothrow));
 4656// Reserve enough room in the hash for N more elements. Return success code.
 4657// func:amc.FDb.ind_rowid.Reserve
 4658void                 ind_rowid_Reserve(int n) __attribute__((nothrow));
 4659
 4660// Allocate memory for new default row.
 4661// If out of memory, process is killed.
 4662// func:amc.FDb.cascdel.Alloc
 4663amc::FCascdel&       cascdel_Alloc() __attribute__((__warn_unused_result__, nothrow));
 4664// Allocate memory for new element. If out of memory, return NULL.
 4665// func:amc.FDb.cascdel.AllocMaybe
 4666amc::FCascdel*       cascdel_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 4667// Create new row from struct.
 4668// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 4669// func:amc.FDb.cascdel.InsertMaybe
 4670amc::FCascdel*       cascdel_InsertMaybe(const dmmeta::Cascdel &value) __attribute__((nothrow));
 4671// Allocate space for one element. If no memory available, return NULL.
 4672// func:amc.FDb.cascdel.AllocMem
 4673void*                cascdel_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 4674// Return true if index is empty
 4675// func:amc.FDb.cascdel.EmptyQ
 4676bool                 cascdel_EmptyQ() __attribute__((nothrow, pure));
 4677// Look up row by row id. Return NULL if out of range
 4678// func:amc.FDb.cascdel.Find
 4679amc::FCascdel*       cascdel_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 4680// Return pointer to last element of array, or NULL if array is empty
 4681// func:amc.FDb.cascdel.Last
 4682amc::FCascdel*       cascdel_Last() __attribute__((nothrow, pure));
 4683// Return number of items in the pool
 4684// func:amc.FDb.cascdel.N
 4685i32                  cascdel_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4686// Delete last element of array. Do nothing if array is empty.
 4687// func:amc.FDb.cascdel.RemoveLast
 4688void                 cascdel_RemoveLast() __attribute__((nothrow));
 4689// 'quick' Access row by row id. No bounds checking.
 4690// func:amc.FDb.cascdel.qFind
 4691amc::FCascdel&       cascdel_qFind(u64 t) __attribute__((nothrow, pure));
 4692// Insert row into all appropriate indices. If error occurs, store error
 4693// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 4694// func:amc.FDb.cascdel.XrefMaybe
 4695bool                 cascdel_XrefMaybe(amc::FCascdel &row);
 4696
 4697// Allocate memory for new default row.
 4698// If out of memory, process is killed.
 4699// func:amc.FDb.substr.Alloc
 4700amc::FSubstr&        substr_Alloc() __attribute__((__warn_unused_result__, nothrow));
 4701// Allocate memory for new element. If out of memory, return NULL.
 4702// func:amc.FDb.substr.AllocMaybe
 4703amc::FSubstr*        substr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 4704// Create new row from struct.
 4705// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 4706// func:amc.FDb.substr.InsertMaybe
 4707amc::FSubstr*        substr_InsertMaybe(const dmmeta::Substr &value) __attribute__((nothrow));
 4708// Allocate space for one element. If no memory available, return NULL.
 4709// func:amc.FDb.substr.AllocMem
 4710void*                substr_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 4711// Return true if index is empty
 4712// func:amc.FDb.substr.EmptyQ
 4713bool                 substr_EmptyQ() __attribute__((nothrow, pure));
 4714// Look up row by row id. Return NULL if out of range
 4715// func:amc.FDb.substr.Find
 4716amc::FSubstr*        substr_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 4717// Return pointer to last element of array, or NULL if array is empty
 4718// func:amc.FDb.substr.Last
 4719amc::FSubstr*        substr_Last() __attribute__((nothrow, pure));
 4720// Return number of items in the pool
 4721// func:amc.FDb.substr.N
 4722i32                  substr_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4723// Delete last element of array. Do nothing if array is empty.
 4724// func:amc.FDb.substr.RemoveLast
 4725void                 substr_RemoveLast() __attribute__((nothrow));
 4726// 'quick' Access row by row id. No bounds checking.
 4727// func:amc.FDb.substr.qFind
 4728amc::FSubstr&        substr_qFind(u64 t) __attribute__((nothrow, pure));
 4729// Insert row into all appropriate indices. If error occurs, store error
 4730// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 4731// func:amc.FDb.substr.XrefMaybe
 4732bool                 substr_XrefMaybe(amc::FSubstr &row);
 4733
 4734// Allocate memory for new default row.
 4735// If out of memory, process is killed.
 4736// func:amc.FDb.bitfld.Alloc
 4737amc::FBitfld&        bitfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
 4738// Allocate memory for new element. If out of memory, return NULL.
 4739// func:amc.FDb.bitfld.AllocMaybe
 4740amc::FBitfld*        bitfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 4741// Create new row from struct.
 4742// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 4743// func:amc.FDb.bitfld.InsertMaybe
 4744amc::FBitfld*        bitfld_InsertMaybe(const dmmeta::Bitfld &value) __attribute__((nothrow));
 4745// Allocate space for one element. If no memory available, return NULL.
 4746// func:amc.FDb.bitfld.AllocMem
 4747void*                bitfld_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 4748// Return true if index is empty
 4749// func:amc.FDb.bitfld.EmptyQ
 4750bool                 bitfld_EmptyQ() __attribute__((nothrow, pure));
 4751// Look up row by row id. Return NULL if out of range
 4752// func:amc.FDb.bitfld.Find
 4753amc::FBitfld*        bitfld_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 4754// Return pointer to last element of array, or NULL if array is empty
 4755// func:amc.FDb.bitfld.Last
 4756amc::FBitfld*        bitfld_Last() __attribute__((nothrow, pure));
 4757// Return number of items in the pool
 4758// func:amc.FDb.bitfld.N
 4759i32                  bitfld_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4760// Delete last element of array. Do nothing if array is empty.
 4761// func:amc.FDb.bitfld.RemoveLast
 4762void                 bitfld_RemoveLast() __attribute__((nothrow));
 4763// 'quick' Access row by row id. No bounds checking.
 4764// func:amc.FDb.bitfld.qFind
 4765amc::FBitfld&        bitfld_qFind(u64 t) __attribute__((nothrow, pure));
 4766// Insert row into all appropriate indices. If error occurs, store error
 4767// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 4768// func:amc.FDb.bitfld.XrefMaybe
 4769bool                 bitfld_XrefMaybe(amc::FBitfld &row);
 4770
 4771// Allocate memory for new default row.
 4772// If out of memory, process is killed.
 4773// func:amc.FDb.ssimfile.Alloc
 4774amc::FSsimfile&      ssimfile_Alloc() __attribute__((__warn_unused_result__, nothrow));
 4775// Allocate memory for new element. If out of memory, return NULL.
 4776// func:amc.FDb.ssimfile.AllocMaybe
 4777amc::FSsimfile*      ssimfile_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 4778// Create new row from struct.
 4779// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 4780// func:amc.FDb.ssimfile.InsertMaybe
 4781amc::FSsimfile*      ssimfile_InsertMaybe(const dmmeta::Ssimfile &value) __attribute__((nothrow));
 4782// Allocate space for one element. If no memory available, return NULL.
 4783// func:amc.FDb.ssimfile.AllocMem
 4784void*                ssimfile_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 4785// Return true if index is empty
 4786// func:amc.FDb.ssimfile.EmptyQ
 4787bool                 ssimfile_EmptyQ() __attribute__((nothrow, pure));
 4788// Look up row by row id. Return NULL if out of range
 4789// func:amc.FDb.ssimfile.Find
 4790amc::FSsimfile*      ssimfile_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 4791// Return pointer to last element of array, or NULL if array is empty
 4792// func:amc.FDb.ssimfile.Last
 4793amc::FSsimfile*      ssimfile_Last() __attribute__((nothrow, pure));
 4794// Return number of items in the pool
 4795// func:amc.FDb.ssimfile.N
 4796i32                  ssimfile_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4797// Delete last element of array. Do nothing if array is empty.
 4798// func:amc.FDb.ssimfile.RemoveLast
 4799void                 ssimfile_RemoveLast() __attribute__((nothrow));
 4800// 'quick' Access row by row id. No bounds checking.
 4801// func:amc.FDb.ssimfile.qFind
 4802amc::FSsimfile&      ssimfile_qFind(u64 t) __attribute__((nothrow, pure));
 4803// Insert row into all appropriate indices. If error occurs, store error
 4804// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 4805// func:amc.FDb.ssimfile.XrefMaybe
 4806bool                 ssimfile_XrefMaybe(amc::FSsimfile &row);
 4807
 4808// Return true if hash is empty
 4809// func:amc.FDb.ind_ssimfile.EmptyQ
 4810bool                 ind_ssimfile_EmptyQ() __attribute__((nothrow));
 4811// Find row by key. Return NULL if not found.
 4812// func:amc.FDb.ind_ssimfile.Find
 4813amc::FSsimfile*      ind_ssimfile_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 4814// Find row by key. If not found, create and x-reference a new row with with this key.
 4815// func:amc.FDb.ind_ssimfile.GetOrCreate
 4816amc::FSsimfile&      ind_ssimfile_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 4817// Return number of items in the hash
 4818// func:amc.FDb.ind_ssimfile.N
 4819i32                  ind_ssimfile_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4820// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 4821// func:amc.FDb.ind_ssimfile.InsertMaybe
 4822bool                 ind_ssimfile_InsertMaybe(amc::FSsimfile& row) __attribute__((nothrow));
 4823// Remove reference to element from hash index. If element is not in hash, do nothing
 4824// func:amc.FDb.ind_ssimfile.Remove
 4825void                 ind_ssimfile_Remove(amc::FSsimfile& row) __attribute__((nothrow));
 4826// Reserve enough room in the hash for N more elements. Return success code.
 4827// func:amc.FDb.ind_ssimfile.Reserve
 4828void                 ind_ssimfile_Reserve(int n) __attribute__((nothrow));
 4829
 4830// Allocate memory for new default row.
 4831// If out of memory, process is killed.
 4832// func:amc.FDb.pack.Alloc
 4833amc::FPack&          pack_Alloc() __attribute__((__warn_unused_result__, nothrow));
 4834// Allocate memory for new element. If out of memory, return NULL.
 4835// func:amc.FDb.pack.AllocMaybe
 4836amc::FPack*          pack_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 4837// Create new row from struct.
 4838// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 4839// func:amc.FDb.pack.InsertMaybe
 4840amc::FPack*          pack_InsertMaybe(const dmmeta::Pack &value) __attribute__((nothrow));
 4841// Allocate space for one element. If no memory available, return NULL.
 4842// func:amc.FDb.pack.AllocMem
 4843void*                pack_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 4844// Return true if index is empty
 4845// func:amc.FDb.pack.EmptyQ
 4846bool                 pack_EmptyQ() __attribute__((nothrow, pure));
 4847// Look up row by row id. Return NULL if out of range
 4848// func:amc.FDb.pack.Find
 4849amc::FPack*          pack_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 4850// Return pointer to last element of array, or NULL if array is empty
 4851// func:amc.FDb.pack.Last
 4852amc::FPack*          pack_Last() __attribute__((nothrow, pure));
 4853// Return number of items in the pool
 4854// func:amc.FDb.pack.N
 4855i32                  pack_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4856// Delete last element of array. Do nothing if array is empty.
 4857// func:amc.FDb.pack.RemoveLast
 4858void                 pack_RemoveLast() __attribute__((nothrow));
 4859// 'quick' Access row by row id. No bounds checking.
 4860// func:amc.FDb.pack.qFind
 4861amc::FPack&          pack_qFind(u64 t) __attribute__((nothrow, pure));
 4862// Insert row into all appropriate indices. If error occurs, store error
 4863// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 4864// func:amc.FDb.pack.XrefMaybe
 4865bool                 pack_XrefMaybe(amc::FPack &row);
 4866
 4867// Return true if hash is empty
 4868// func:amc.FDb.ind_pack.EmptyQ
 4869bool                 ind_pack_EmptyQ() __attribute__((nothrow));
 4870// Find row by key. Return NULL if not found.
 4871// func:amc.FDb.ind_pack.Find
 4872amc::FPack*          ind_pack_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 4873// Find row by key. If not found, create and x-reference a new row with with this key.
 4874// func:amc.FDb.ind_pack.GetOrCreate
 4875amc::FPack&          ind_pack_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 4876// Return number of items in the hash
 4877// func:amc.FDb.ind_pack.N
 4878i32                  ind_pack_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4879// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 4880// func:amc.FDb.ind_pack.InsertMaybe
 4881bool                 ind_pack_InsertMaybe(amc::FPack& row) __attribute__((nothrow));
 4882// Remove reference to element from hash index. If element is not in hash, do nothing
 4883// func:amc.FDb.ind_pack.Remove
 4884void                 ind_pack_Remove(amc::FPack& row) __attribute__((nothrow));
 4885// Reserve enough room in the hash for N more elements. Return success code.
 4886// func:amc.FDb.ind_pack.Reserve
 4887void                 ind_pack_Reserve(int n) __attribute__((nothrow));
 4888
 4889// Return true if hash is empty
 4890// func:amc.FDb.ind_smallstr.EmptyQ
 4891bool                 ind_smallstr_EmptyQ() __attribute__((nothrow));
 4892// Find row by key. Return NULL if not found.
 4893// func:amc.FDb.ind_smallstr.Find
 4894amc::FSmallstr*      ind_smallstr_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 4895// Find row by key. If not found, create and x-reference a new row with with this key.
 4896// func:amc.FDb.ind_smallstr.GetOrCreate
 4897amc::FSmallstr&      ind_smallstr_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 4898// Return number of items in the hash
 4899// func:amc.FDb.ind_smallstr.N
 4900i32                  ind_smallstr_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4901// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 4902// func:amc.FDb.ind_smallstr.InsertMaybe
 4903bool                 ind_smallstr_InsertMaybe(amc::FSmallstr& row) __attribute__((nothrow));
 4904// Remove reference to element from hash index. If element is not in hash, do nothing
 4905// func:amc.FDb.ind_smallstr.Remove
 4906void                 ind_smallstr_Remove(amc::FSmallstr& row) __attribute__((nothrow));
 4907// Reserve enough room in the hash for N more elements. Return success code.
 4908// func:amc.FDb.ind_smallstr.Reserve
 4909void                 ind_smallstr_Reserve(int n) __attribute__((nothrow));
 4910
 4911// Allocate memory for new default row.
 4912// If out of memory, process is killed.
 4913// func:amc.FDb.ptrary.Alloc
 4914amc::FPtrary&        ptrary_Alloc() __attribute__((__warn_unused_result__, nothrow));
 4915// Allocate memory for new element. If out of memory, return NULL.
 4916// func:amc.FDb.ptrary.AllocMaybe
 4917amc::FPtrary*        ptrary_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 4918// Create new row from struct.
 4919// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 4920// func:amc.FDb.ptrary.InsertMaybe
 4921amc::FPtrary*        ptrary_InsertMaybe(const dmmeta::Ptrary &value) __attribute__((nothrow));
 4922// Allocate space for one element. If no memory available, return NULL.
 4923// func:amc.FDb.ptrary.AllocMem
 4924void*                ptrary_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 4925// Return true if index is empty
 4926// func:amc.FDb.ptrary.EmptyQ
 4927bool                 ptrary_EmptyQ() __attribute__((nothrow, pure));
 4928// Look up row by row id. Return NULL if out of range
 4929// func:amc.FDb.ptrary.Find
 4930amc::FPtrary*        ptrary_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 4931// Return pointer to last element of array, or NULL if array is empty
 4932// func:amc.FDb.ptrary.Last
 4933amc::FPtrary*        ptrary_Last() __attribute__((nothrow, pure));
 4934// Return number of items in the pool
 4935// func:amc.FDb.ptrary.N
 4936i32                  ptrary_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4937// Delete last element of array. Do nothing if array is empty.
 4938// func:amc.FDb.ptrary.RemoveLast
 4939void                 ptrary_RemoveLast() __attribute__((nothrow));
 4940// 'quick' Access row by row id. No bounds checking.
 4941// func:amc.FDb.ptrary.qFind
 4942amc::FPtrary&        ptrary_qFind(u64 t) __attribute__((nothrow, pure));
 4943// Insert row into all appropriate indices. If error occurs, store error
 4944// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 4945// func:amc.FDb.ptrary.XrefMaybe
 4946bool                 ptrary_XrefMaybe(amc::FPtrary &row);
 4947
 4948// Return true if index is empty
 4949// func:amc.FDb.c_ctype_sorted.EmptyQ
 4950bool                 c_ctype_sorted_EmptyQ() __attribute__((nothrow));
 4951// Look up row by row id. Return NULL if out of range
 4952// func:amc.FDb.c_ctype_sorted.Find
 4953amc::FCtype*         c_ctype_sorted_Find(u32 t) __attribute__((__warn_unused_result__, nothrow));
 4954// Return array of pointers
 4955// func:amc.FDb.c_ctype_sorted.Getary
 4956algo::aryptr<amc::FCtype*> c_ctype_sorted_Getary() __attribute__((nothrow));
 4957// Insert pointer to row into array. Row must not already be in array.
 4958// If pointer is already in the array, it may be inserted twice.
 4959// func:amc.FDb.c_ctype_sorted.Insert
 4960void                 c_ctype_sorted_Insert(amc::FCtype& row) __attribute__((nothrow));
 4961// Insert pointer to row in array.
 4962// If row is already in the array, do nothing.
 4963// Linear search is used to locate the element.
 4964// Return value: whether element was inserted into array.
 4965// func:amc.FDb.c_ctype_sorted.ScanInsertMaybe
 4966bool                 c_ctype_sorted_ScanInsertMaybe(amc::FCtype& row) __attribute__((nothrow));
 4967// Return number of items in the pointer array
 4968// func:amc.FDb.c_ctype_sorted.N
 4969i32                  c_ctype_sorted_N() __attribute__((__warn_unused_result__, nothrow, pure));
 4970// Find element using linear scan. If element is in array, remove, otherwise do nothing
 4971// func:amc.FDb.c_ctype_sorted.Remove
 4972void                 c_ctype_sorted_Remove(amc::FCtype& row) __attribute__((nothrow));
 4973// Empty the index. (The rows are not deleted)
 4974// func:amc.FDb.c_ctype_sorted.RemoveAll
 4975void                 c_ctype_sorted_RemoveAll() __attribute__((nothrow));
 4976// Reserve space in index for N more elements;
 4977// func:amc.FDb.c_ctype_sorted.Reserve
 4978void                 c_ctype_sorted_Reserve(u32 n) __attribute__((nothrow));
 4979// Return reference without bounds checking
 4980// func:amc.FDb.c_ctype_sorted.qFind
 4981amc::FCtype&         c_ctype_sorted_qFind(u32 idx) __attribute__((nothrow));
 4982// Reference to last element without bounds checking
 4983// func:amc.FDb.c_ctype_sorted.qLast
 4984amc::FCtype&         c_ctype_sorted_qLast() __attribute__((nothrow));
 4985// Verify whether array is sorted
 4986// func:amc.FDb.c_ctype_sorted.SortedQ
 4987bool                 c_ctype_sorted_SortedQ() __attribute__((nothrow));
 4988// Insertion sort
 4989// func:amc.FDb.c_ctype_sorted.InsertionSort
 4990void                 c_ctype_sorted_InsertionSort() __attribute__((nothrow));
 4991// Heap sort
 4992// func:amc.FDb.c_ctype_sorted.HeapSort
 4993void                 c_ctype_sorted_HeapSort() __attribute__((nothrow));
 4994// Quick sort
 4995// func:amc.FDb.c_ctype_sorted.QuickSort
 4996void                 c_ctype_sorted_QuickSort() __attribute__((nothrow));
 4997
 4998// Allocate memory for new default row.
 4999// If out of memory, process is killed.
 5000// func:amc.FDb.enumstr.Alloc
 5001amc::FEnumstr&       enumstr_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5002// Allocate memory for new element. If out of memory, return NULL.
 5003// func:amc.FDb.enumstr.AllocMaybe
 5004amc::FEnumstr*       enumstr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5005// Allocate space for one element. If no memory available, return NULL.
 5006// func:amc.FDb.enumstr.AllocMem
 5007void*                enumstr_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5008// Return true if index is empty
 5009// func:amc.FDb.enumstr.EmptyQ
 5010bool                 enumstr_EmptyQ() __attribute__((nothrow, pure));
 5011// Look up row by row id. Return NULL if out of range
 5012// func:amc.FDb.enumstr.Find
 5013amc::FEnumstr*       enumstr_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5014// Return pointer to last element of array, or NULL if array is empty
 5015// func:amc.FDb.enumstr.Last
 5016amc::FEnumstr*       enumstr_Last() __attribute__((nothrow, pure));
 5017// Return number of items in the pool
 5018// func:amc.FDb.enumstr.N
 5019i32                  enumstr_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5020// Remove all elements from Lary
 5021// func:amc.FDb.enumstr.RemoveAll
 5022void                 enumstr_RemoveAll() __attribute__((nothrow));
 5023// Delete last element of array. Do nothing if array is empty.
 5024// func:amc.FDb.enumstr.RemoveLast
 5025void                 enumstr_RemoveLast() __attribute__((nothrow));
 5026// 'quick' Access row by row id. No bounds checking.
 5027// func:amc.FDb.enumstr.qFind
 5028amc::FEnumstr&       enumstr_qFind(u64 t) __attribute__((nothrow, pure));
 5029// Insert row into all appropriate indices. If error occurs, store error
 5030// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5031// func:amc.FDb.enumstr.XrefMaybe
 5032bool                 enumstr_XrefMaybe(amc::FEnumstr &row);
 5033
 5034// Allocate memory for new default row.
 5035// If out of memory, process is killed.
 5036// func:amc.FDb.enumstr_len.Alloc
 5037amc::FEnumstrLen&    enumstr_len_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5038// Allocate memory for new element. If out of memory, return NULL.
 5039// func:amc.FDb.enumstr_len.AllocMaybe
 5040amc::FEnumstrLen*    enumstr_len_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5041// Allocate space for one element. If no memory available, return NULL.
 5042// func:amc.FDb.enumstr_len.AllocMem
 5043void*                enumstr_len_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5044// Return true if index is empty
 5045// func:amc.FDb.enumstr_len.EmptyQ
 5046bool                 enumstr_len_EmptyQ() __attribute__((nothrow, pure));
 5047// Look up row by row id. Return NULL if out of range
 5048// func:amc.FDb.enumstr_len.Find
 5049amc::FEnumstrLen*    enumstr_len_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5050// Return pointer to last element of array, or NULL if array is empty
 5051// func:amc.FDb.enumstr_len.Last
 5052amc::FEnumstrLen*    enumstr_len_Last() __attribute__((nothrow, pure));
 5053// Return number of items in the pool
 5054// func:amc.FDb.enumstr_len.N
 5055i32                  enumstr_len_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5056// Remove all elements from Lary
 5057// func:amc.FDb.enumstr_len.RemoveAll
 5058void                 enumstr_len_RemoveAll() __attribute__((nothrow));
 5059// Delete last element of array. Do nothing if array is empty.
 5060// func:amc.FDb.enumstr_len.RemoveLast
 5061void                 enumstr_len_RemoveLast() __attribute__((nothrow));
 5062// 'quick' Access row by row id. No bounds checking.
 5063// func:amc.FDb.enumstr_len.qFind
 5064amc::FEnumstrLen&    enumstr_len_qFind(u64 t) __attribute__((nothrow, pure));
 5065// Insert row into all appropriate indices. If error occurs, store error
 5066// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5067// func:amc.FDb.enumstr_len.XrefMaybe
 5068bool                 enumstr_len_XrefMaybe(amc::FEnumstrLen &row);
 5069
 5070// Remove all elements from heap and free memory used by the array.
 5071// func:amc.FDb.bh_enumstr_len.Dealloc
 5072void                 bh_enumstr_len_Dealloc() __attribute__((nothrow));
 5073// Return true if index is empty
 5074// func:amc.FDb.bh_enumstr_len.EmptyQ
 5075bool                 bh_enumstr_len_EmptyQ() __attribute__((nothrow));
 5076// If index empty, return NULL. Otherwise return pointer to first element in index
 5077// func:amc.FDb.bh_enumstr_len.First
 5078amc::FEnumstrLen*    bh_enumstr_len_First() __attribute__((__warn_unused_result__, nothrow, pure));
 5079// Return true if row is in index, false otherwise
 5080// func:amc.FDb.bh_enumstr_len.InBheapQ
 5081bool                 bh_enumstr_len_InBheapQ(amc::FEnumstrLen& row) __attribute__((__warn_unused_result__, nothrow));
 5082// Insert row. Row must not already be in index. If row is already in index, do nothing.
 5083// func:amc.FDb.bh_enumstr_len.Insert
 5084void                 bh_enumstr_len_Insert(amc::FEnumstrLen& row) __attribute__((nothrow));
 5085// Return number of items in the heap
 5086// func:amc.FDb.bh_enumstr_len.N
 5087i32                  bh_enumstr_len_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5088// If row is in heap, update its position. If row is not in heap, insert it.
 5089// Return new position of item in the heap (0=top)
 5090// func:amc.FDb.bh_enumstr_len.Reheap
 5091i32                  bh_enumstr_len_Reheap(amc::FEnumstrLen& row) __attribute__((nothrow));
 5092// Key of first element in the heap changed. Move it.
 5093// This function does not check the insert condition.
 5094// Return new position of item in the heap (0=top).
 5095// Heap must be non-empty or behavior is undefined.
 5096// func:amc.FDb.bh_enumstr_len.ReheapFirst
 5097i32                  bh_enumstr_len_ReheapFirst() __attribute__((nothrow));
 5098// Remove element from index. If element is not in index, do nothing.
 5099// func:amc.FDb.bh_enumstr_len.Remove
 5100void                 bh_enumstr_len_Remove(amc::FEnumstrLen& row) __attribute__((nothrow));
 5101// Remove all elements from binary heap
 5102// func:amc.FDb.bh_enumstr_len.RemoveAll
 5103void                 bh_enumstr_len_RemoveAll() __attribute__((nothrow));
 5104// If index is empty, return NULL. Otherwise remove and return first key in index.
 5105//  Call 'head changed' trigger.
 5106// func:amc.FDb.bh_enumstr_len.RemoveFirst
 5107amc::FEnumstrLen*    bh_enumstr_len_RemoveFirst() __attribute__((nothrow));
 5108// Reserve space in index for N more elements
 5109// func:amc.FDb.bh_enumstr_len.Reserve
 5110void                 bh_enumstr_len_Reserve(int n) __attribute__((nothrow));
 5111
 5112// Return true if hash is empty
 5113// func:amc.FDb.ind_enumstr_len.EmptyQ
 5114bool                 ind_enumstr_len_EmptyQ() __attribute__((nothrow));
 5115// Find row by key. Return NULL if not found.
 5116// func:amc.FDb.ind_enumstr_len.Find
 5117amc::FEnumstrLen*    ind_enumstr_len_Find(i32 key) __attribute__((__warn_unused_result__, nothrow));
 5118// Find row by key. If not found, create and x-reference a new row with with this key.
 5119// func:amc.FDb.ind_enumstr_len.GetOrCreate
 5120amc::FEnumstrLen&    ind_enumstr_len_GetOrCreate(i32 key) __attribute__((nothrow));
 5121// Return number of items in the hash
 5122// func:amc.FDb.ind_enumstr_len.N
 5123i32                  ind_enumstr_len_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5124// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 5125// func:amc.FDb.ind_enumstr_len.InsertMaybe
 5126bool                 ind_enumstr_len_InsertMaybe(amc::FEnumstrLen& row) __attribute__((nothrow));
 5127// Remove reference to element from hash index. If element is not in hash, do nothing
 5128// func:amc.FDb.ind_enumstr_len.Remove
 5129void                 ind_enumstr_len_Remove(amc::FEnumstrLen& row) __attribute__((nothrow));
 5130// Reserve enough room in the hash for N more elements. Return success code.
 5131// func:amc.FDb.ind_enumstr_len.Reserve
 5132void                 ind_enumstr_len_Reserve(int n) __attribute__((nothrow));
 5133
 5134// Return true if hash is empty
 5135// func:amc.FDb.ind_enumstr.EmptyQ
 5136bool                 ind_enumstr_EmptyQ() __attribute__((nothrow));
 5137// Find row by key. Return NULL if not found.
 5138// func:amc.FDb.ind_enumstr.Find
 5139amc::FEnumstr*       ind_enumstr_Find(const amc::Enumstr& key) __attribute__((__warn_unused_result__, nothrow));
 5140// Find row by key. If not found, create and x-reference a new row with with this key.
 5141// func:amc.FDb.ind_enumstr.GetOrCreate
 5142amc::FEnumstr&       ind_enumstr_GetOrCreate(const amc::Enumstr& key) __attribute__((nothrow));
 5143// Return number of items in the hash
 5144// func:amc.FDb.ind_enumstr.N
 5145i32                  ind_enumstr_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5146// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 5147// func:amc.FDb.ind_enumstr.InsertMaybe
 5148bool                 ind_enumstr_InsertMaybe(amc::FEnumstr& row) __attribute__((nothrow));
 5149// Remove reference to element from hash index. If element is not in hash, do nothing
 5150// func:amc.FDb.ind_enumstr.Remove
 5151void                 ind_enumstr_Remove(amc::FEnumstr& row) __attribute__((nothrow));
 5152// Reserve enough room in the hash for N more elements. Return success code.
 5153// func:amc.FDb.ind_enumstr.Reserve
 5154void                 ind_enumstr_Reserve(int n) __attribute__((nothrow));
 5155
 5156// Allocate memory for new default row.
 5157// If out of memory, process is killed.
 5158// func:amc.FDb.fbitset.Alloc
 5159amc::FFbitset&       fbitset_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5160// Allocate memory for new element. If out of memory, return NULL.
 5161// func:amc.FDb.fbitset.AllocMaybe
 5162amc::FFbitset*       fbitset_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5163// Create new row from struct.
 5164// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 5165// func:amc.FDb.fbitset.InsertMaybe
 5166amc::FFbitset*       fbitset_InsertMaybe(const dmmeta::Fbitset &value) __attribute__((nothrow));
 5167// Allocate space for one element. If no memory available, return NULL.
 5168// func:amc.FDb.fbitset.AllocMem
 5169void*                fbitset_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5170// Return true if index is empty
 5171// func:amc.FDb.fbitset.EmptyQ
 5172bool                 fbitset_EmptyQ() __attribute__((nothrow, pure));
 5173// Look up row by row id. Return NULL if out of range
 5174// func:amc.FDb.fbitset.Find
 5175amc::FFbitset*       fbitset_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5176// Return pointer to last element of array, or NULL if array is empty
 5177// func:amc.FDb.fbitset.Last
 5178amc::FFbitset*       fbitset_Last() __attribute__((nothrow, pure));
 5179// Return number of items in the pool
 5180// func:amc.FDb.fbitset.N
 5181i32                  fbitset_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5182// Delete last element of array. Do nothing if array is empty.
 5183// func:amc.FDb.fbitset.RemoveLast
 5184void                 fbitset_RemoveLast() __attribute__((nothrow));
 5185// 'quick' Access row by row id. No bounds checking.
 5186// func:amc.FDb.fbitset.qFind
 5187amc::FFbitset&       fbitset_qFind(u64 t) __attribute__((nothrow, pure));
 5188// Insert row into all appropriate indices. If error occurs, store error
 5189// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5190// func:amc.FDb.fbitset.XrefMaybe
 5191bool                 fbitset_XrefMaybe(amc::FFbitset &row);
 5192
 5193// Return true if hash is empty
 5194// func:amc.FDb.ind_fbitset.EmptyQ
 5195bool                 ind_fbitset_EmptyQ() __attribute__((nothrow));
 5196// Find row by key. Return NULL if not found.
 5197// func:amc.FDb.ind_fbitset.Find
 5198amc::FFbitset*       ind_fbitset_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 5199// Find row by key. If not found, create and x-reference a new row with with this key.
 5200// func:amc.FDb.ind_fbitset.GetOrCreate
 5201amc::FFbitset&       ind_fbitset_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 5202// Return number of items in the hash
 5203// func:amc.FDb.ind_fbitset.N
 5204i32                  ind_fbitset_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5205// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 5206// func:amc.FDb.ind_fbitset.InsertMaybe
 5207bool                 ind_fbitset_InsertMaybe(amc::FFbitset& row) __attribute__((nothrow));
 5208// Remove reference to element from hash index. If element is not in hash, do nothing
 5209// func:amc.FDb.ind_fbitset.Remove
 5210void                 ind_fbitset_Remove(amc::FFbitset& row) __attribute__((nothrow));
 5211// Reserve enough room in the hash for N more elements. Return success code.
 5212// func:amc.FDb.ind_fbitset.Reserve
 5213void                 ind_fbitset_Reserve(int n) __attribute__((nothrow));
 5214
 5215// Allocate memory for new default row.
 5216// If out of memory, process is killed.
 5217// func:amc.FDb.fcleanup.Alloc
 5218amc::FFcleanup&      fcleanup_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5219// Allocate memory for new element. If out of memory, return NULL.
 5220// func:amc.FDb.fcleanup.AllocMaybe
 5221amc::FFcleanup*      fcleanup_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5222// Create new row from struct.
 5223// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 5224// func:amc.FDb.fcleanup.InsertMaybe
 5225amc::FFcleanup*      fcleanup_InsertMaybe(const dmmeta::Fcleanup &value) __attribute__((nothrow));
 5226// Allocate space for one element. If no memory available, return NULL.
 5227// func:amc.FDb.fcleanup.AllocMem
 5228void*                fcleanup_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5229// Return true if index is empty
 5230// func:amc.FDb.fcleanup.EmptyQ
 5231bool                 fcleanup_EmptyQ() __attribute__((nothrow, pure));
 5232// Look up row by row id. Return NULL if out of range
 5233// func:amc.FDb.fcleanup.Find
 5234amc::FFcleanup*      fcleanup_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5235// Return pointer to last element of array, or NULL if array is empty
 5236// func:amc.FDb.fcleanup.Last
 5237amc::FFcleanup*      fcleanup_Last() __attribute__((nothrow, pure));
 5238// Return number of items in the pool
 5239// func:amc.FDb.fcleanup.N
 5240i32                  fcleanup_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5241// Delete last element of array. Do nothing if array is empty.
 5242// func:amc.FDb.fcleanup.RemoveLast
 5243void                 fcleanup_RemoveLast() __attribute__((nothrow));
 5244// 'quick' Access row by row id. No bounds checking.
 5245// func:amc.FDb.fcleanup.qFind
 5246amc::FFcleanup&      fcleanup_qFind(u64 t) __attribute__((nothrow, pure));
 5247// Insert row into all appropriate indices. If error occurs, store error
 5248// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5249// func:amc.FDb.fcleanup.XrefMaybe
 5250bool                 fcleanup_XrefMaybe(amc::FFcleanup &row);
 5251
 5252// Allocate memory for new default row.
 5253// If out of memory, process is killed.
 5254// func:amc.FDb.fdec.Alloc
 5255amc::FFdec&          fdec_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5256// Allocate memory for new element. If out of memory, return NULL.
 5257// func:amc.FDb.fdec.AllocMaybe
 5258amc::FFdec*          fdec_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5259// Create new row from struct.
 5260// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 5261// func:amc.FDb.fdec.InsertMaybe
 5262amc::FFdec*          fdec_InsertMaybe(const dmmeta::Fdec &value) __attribute__((nothrow));
 5263// Allocate space for one element. If no memory available, return NULL.
 5264// func:amc.FDb.fdec.AllocMem
 5265void*                fdec_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5266// Return true if index is empty
 5267// func:amc.FDb.fdec.EmptyQ
 5268bool                 fdec_EmptyQ() __attribute__((nothrow, pure));
 5269// Look up row by row id. Return NULL if out of range
 5270// func:amc.FDb.fdec.Find
 5271amc::FFdec*          fdec_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5272// Return pointer to last element of array, or NULL if array is empty
 5273// func:amc.FDb.fdec.Last
 5274amc::FFdec*          fdec_Last() __attribute__((nothrow, pure));
 5275// Return number of items in the pool
 5276// func:amc.FDb.fdec.N
 5277i32                  fdec_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5278// Delete last element of array. Do nothing if array is empty.
 5279// func:amc.FDb.fdec.RemoveLast
 5280void                 fdec_RemoveLast() __attribute__((nothrow));
 5281// 'quick' Access row by row id. No bounds checking.
 5282// func:amc.FDb.fdec.qFind
 5283amc::FFdec&          fdec_qFind(u64 t) __attribute__((nothrow, pure));
 5284// Insert row into all appropriate indices. If error occurs, store error
 5285// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5286// func:amc.FDb.fdec.XrefMaybe
 5287bool                 fdec_XrefMaybe(amc::FFdec &row);
 5288
 5289// Return true if hash is empty
 5290// func:amc.FDb.ind_fdec.EmptyQ
 5291bool                 ind_fdec_EmptyQ() __attribute__((nothrow));
 5292// Find row by key. Return NULL if not found.
 5293// func:amc.FDb.ind_fdec.Find
 5294amc::FFdec*          ind_fdec_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 5295// Find row by key. If not found, create and x-reference a new row with with this key.
 5296// func:amc.FDb.ind_fdec.GetOrCreate
 5297amc::FFdec&          ind_fdec_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 5298// Return number of items in the hash
 5299// func:amc.FDb.ind_fdec.N
 5300i32                  ind_fdec_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5301// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 5302// func:amc.FDb.ind_fdec.InsertMaybe
 5303bool                 ind_fdec_InsertMaybe(amc::FFdec& row) __attribute__((nothrow));
 5304// Remove reference to element from hash index. If element is not in hash, do nothing
 5305// func:amc.FDb.ind_fdec.Remove
 5306void                 ind_fdec_Remove(amc::FFdec& row) __attribute__((nothrow));
 5307// Reserve enough room in the hash for N more elements. Return success code.
 5308// func:amc.FDb.ind_fdec.Reserve
 5309void                 ind_fdec_Reserve(int n) __attribute__((nothrow));
 5310
 5311// Return true if hash is empty
 5312// func:amc.FDb.ind_reftype.EmptyQ
 5313bool                 ind_reftype_EmptyQ() __attribute__((nothrow));
 5314// Find row by key. Return NULL if not found.
 5315// func:amc.FDb.ind_reftype.Find
 5316amc::FReftype*       ind_reftype_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 5317// Find row by key. If not found, create and x-reference a new row with with this key.
 5318// func:amc.FDb.ind_reftype.GetOrCreate
 5319amc::FReftype&       ind_reftype_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 5320// Return number of items in the hash
 5321// func:amc.FDb.ind_reftype.N
 5322i32                  ind_reftype_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5323// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 5324// func:amc.FDb.ind_reftype.InsertMaybe
 5325bool                 ind_reftype_InsertMaybe(amc::FReftype& row) __attribute__((nothrow));
 5326// Remove reference to element from hash index. If element is not in hash, do nothing
 5327// func:amc.FDb.ind_reftype.Remove
 5328void                 ind_reftype_Remove(amc::FReftype& row) __attribute__((nothrow));
 5329// Reserve enough room in the hash for N more elements. Return success code.
 5330// func:amc.FDb.ind_reftype.Reserve
 5331void                 ind_reftype_Reserve(int n) __attribute__((nothrow));
 5332
 5333// Allocate memory for new default row.
 5334// If out of memory, process is killed.
 5335// func:amc.FDb.fconst.Alloc
 5336amc::FFconst&        fconst_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5337// Allocate memory for new element. If out of memory, return NULL.
 5338// func:amc.FDb.fconst.AllocMaybe
 5339amc::FFconst*        fconst_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5340// Create new row from struct.
 5341// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 5342// func:amc.FDb.fconst.InsertMaybe
 5343amc::FFconst*        fconst_InsertMaybe(const dmmeta::Fconst &value) __attribute__((nothrow));
 5344// Allocate space for one element. If no memory available, return NULL.
 5345// func:amc.FDb.fconst.AllocMem
 5346void*                fconst_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5347// Return true if index is empty
 5348// func:amc.FDb.fconst.EmptyQ
 5349bool                 fconst_EmptyQ() __attribute__((nothrow, pure));
 5350// Look up row by row id. Return NULL if out of range
 5351// func:amc.FDb.fconst.Find
 5352amc::FFconst*        fconst_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5353// Return pointer to last element of array, or NULL if array is empty
 5354// func:amc.FDb.fconst.Last
 5355amc::FFconst*        fconst_Last() __attribute__((nothrow, pure));
 5356// Return number of items in the pool
 5357// func:amc.FDb.fconst.N
 5358i32                  fconst_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5359// Delete last element of array. Do nothing if array is empty.
 5360// func:amc.FDb.fconst.RemoveLast
 5361void                 fconst_RemoveLast() __attribute__((nothrow));
 5362// 'quick' Access row by row id. No bounds checking.
 5363// func:amc.FDb.fconst.qFind
 5364amc::FFconst&        fconst_qFind(u64 t) __attribute__((nothrow, pure));
 5365// Insert row into all appropriate indices. If error occurs, store error
 5366// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5367// func:amc.FDb.fconst.XrefMaybe
 5368bool                 fconst_XrefMaybe(amc::FFconst &row);
 5369
 5370// Return true if hash is empty
 5371// func:amc.FDb.ind_fconst.EmptyQ
 5372bool                 ind_fconst_EmptyQ() __attribute__((nothrow));
 5373// Find row by key. Return NULL if not found.
 5374// func:amc.FDb.ind_fconst.Find
 5375amc::FFconst*        ind_fconst_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 5376// Find row by key. If not found, create and x-reference a new row with with this key.
 5377// func:amc.FDb.ind_fconst.GetOrCreate
 5378amc::FFconst&        ind_fconst_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 5379// Return number of items in the hash
 5380// func:amc.FDb.ind_fconst.N
 5381i32                  ind_fconst_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5382// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 5383// func:amc.FDb.ind_fconst.InsertMaybe
 5384bool                 ind_fconst_InsertMaybe(amc::FFconst& row) __attribute__((nothrow));
 5385// Remove reference to element from hash index. If element is not in hash, do nothing
 5386// func:amc.FDb.ind_fconst.Remove
 5387void                 ind_fconst_Remove(amc::FFconst& row) __attribute__((nothrow));
 5388// Reserve enough room in the hash for N more elements. Return success code.
 5389// func:amc.FDb.ind_fconst.Reserve
 5390void                 ind_fconst_Reserve(int n) __attribute__((nothrow));
 5391
 5392// Return true if index is empty
 5393// func:amc.FDb.c_ns_sorted.EmptyQ
 5394bool                 c_ns_sorted_EmptyQ() __attribute__((nothrow));
 5395// Look up row by row id. Return NULL if out of range
 5396// func:amc.FDb.c_ns_sorted.Find
 5397amc::FNs*            c_ns_sorted_Find(u32 t) __attribute__((__warn_unused_result__, nothrow));
 5398// Return array of pointers
 5399// func:amc.FDb.c_ns_sorted.Getary
 5400algo::aryptr<amc::FNs*> c_ns_sorted_Getary() __attribute__((nothrow));
 5401// Insert pointer to row into array. Row must not already be in array.
 5402// If pointer is already in the array, it may be inserted twice.
 5403// func:amc.FDb.c_ns_sorted.Insert
 5404void                 c_ns_sorted_Insert(amc::FNs& row) __attribute__((nothrow));
 5405// Insert pointer to row in array.
 5406// If row is already in the array, do nothing.
 5407// Linear search is used to locate the element.
 5408// Return value: whether element was inserted into array.
 5409// func:amc.FDb.c_ns_sorted.ScanInsertMaybe
 5410bool                 c_ns_sorted_ScanInsertMaybe(amc::FNs& row) __attribute__((nothrow));
 5411// Return number of items in the pointer array
 5412// func:amc.FDb.c_ns_sorted.N
 5413i32                  c_ns_sorted_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5414// Find element using linear scan. If element is in array, remove, otherwise do nothing
 5415// func:amc.FDb.c_ns_sorted.Remove
 5416void                 c_ns_sorted_Remove(amc::FNs& row) __attribute__((nothrow));
 5417// Empty the index. (The rows are not deleted)
 5418// func:amc.FDb.c_ns_sorted.RemoveAll
 5419void                 c_ns_sorted_RemoveAll() __attribute__((nothrow));
 5420// Reserve space in index for N more elements;
 5421// func:amc.FDb.c_ns_sorted.Reserve
 5422void                 c_ns_sorted_Reserve(u32 n) __attribute__((nothrow));
 5423// Return reference without bounds checking
 5424// func:amc.FDb.c_ns_sorted.qFind
 5425amc::FNs&            c_ns_sorted_qFind(u32 idx) __attribute__((nothrow));
 5426// Reference to last element without bounds checking
 5427// func:amc.FDb.c_ns_sorted.qLast
 5428amc::FNs&            c_ns_sorted_qLast() __attribute__((nothrow));
 5429
 5430// Allocate memory for new default row.
 5431// If out of memory, process is killed.
 5432// func:amc.FDb.finput.Alloc
 5433amc::FFinput&        finput_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5434// Allocate memory for new element. If out of memory, return NULL.
 5435// func:amc.FDb.finput.AllocMaybe
 5436amc::FFinput*        finput_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5437// Create new row from struct.
 5438// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 5439// func:amc.FDb.finput.InsertMaybe
 5440amc::FFinput*        finput_InsertMaybe(const dmmeta::Finput &value) __attribute__((nothrow));
 5441// Allocate space for one element. If no memory available, return NULL.
 5442// func:amc.FDb.finput.AllocMem
 5443void*                finput_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5444// Return true if index is empty
 5445// func:amc.FDb.finput.EmptyQ
 5446bool                 finput_EmptyQ() __attribute__((nothrow, pure));
 5447// Look up row by row id. Return NULL if out of range
 5448// func:amc.FDb.finput.Find
 5449amc::FFinput*        finput_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5450// Return pointer to last element of array, or NULL if array is empty
 5451// func:amc.FDb.finput.Last
 5452amc::FFinput*        finput_Last() __attribute__((nothrow, pure));
 5453// Return number of items in the pool
 5454// func:amc.FDb.finput.N
 5455i32                  finput_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5456// Delete last element of array. Do nothing if array is empty.
 5457// func:amc.FDb.finput.RemoveLast
 5458void                 finput_RemoveLast() __attribute__((nothrow));
 5459// 'quick' Access row by row id. No bounds checking.
 5460// func:amc.FDb.finput.qFind
 5461amc::FFinput&        finput_qFind(u64 t) __attribute__((nothrow, pure));
 5462// Insert row into all appropriate indices. If error occurs, store error
 5463// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5464// func:amc.FDb.finput.XrefMaybe
 5465bool                 finput_XrefMaybe(amc::FFinput &row);
 5466
 5467// Allocate memory for new default row.
 5468// If out of memory, process is killed.
 5469// func:amc.FDb.foutput.Alloc
 5470amc::FFoutput&       foutput_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5471// Allocate memory for new element. If out of memory, return NULL.
 5472// func:amc.FDb.foutput.AllocMaybe
 5473amc::FFoutput*       foutput_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5474// Create new row from struct.
 5475// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 5476// func:amc.FDb.foutput.InsertMaybe
 5477amc::FFoutput*       foutput_InsertMaybe(const dmmeta::Foutput &value) __attribute__((nothrow));
 5478// Allocate space for one element. If no memory available, return NULL.
 5479// func:amc.FDb.foutput.AllocMem
 5480void*                foutput_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5481// Return true if index is empty
 5482// func:amc.FDb.foutput.EmptyQ
 5483bool                 foutput_EmptyQ() __attribute__((nothrow, pure));
 5484// Look up row by row id. Return NULL if out of range
 5485// func:amc.FDb.foutput.Find
 5486amc::FFoutput*       foutput_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5487// Return pointer to last element of array, or NULL if array is empty
 5488// func:amc.FDb.foutput.Last
 5489amc::FFoutput*       foutput_Last() __attribute__((nothrow, pure));
 5490// Return number of items in the pool
 5491// func:amc.FDb.foutput.N
 5492i32                  foutput_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5493// Delete last element of array. Do nothing if array is empty.
 5494// func:amc.FDb.foutput.RemoveLast
 5495void                 foutput_RemoveLast() __attribute__((nothrow));
 5496// 'quick' Access row by row id. No bounds checking.
 5497// func:amc.FDb.foutput.qFind
 5498amc::FFoutput&       foutput_qFind(u64 t) __attribute__((nothrow, pure));
 5499// Insert row into all appropriate indices. If error occurs, store error
 5500// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5501// func:amc.FDb.foutput.XrefMaybe
 5502bool                 foutput_XrefMaybe(amc::FFoutput &row);
 5503
 5504// Allocate memory for new default row.
 5505// If out of memory, process is killed.
 5506// func:amc.FDb.fbuf.Alloc
 5507amc::FFbuf&          fbuf_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5508// Allocate memory for new element. If out of memory, return NULL.
 5509// func:amc.FDb.fbuf.AllocMaybe
 5510amc::FFbuf*          fbuf_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5511// Create new row from struct.
 5512// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 5513// func:amc.FDb.fbuf.InsertMaybe
 5514amc::FFbuf*          fbuf_InsertMaybe(const dmmeta::Fbuf &value) __attribute__((nothrow));
 5515// Allocate space for one element. If no memory available, return NULL.
 5516// func:amc.FDb.fbuf.AllocMem
 5517void*                fbuf_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5518// Return true if index is empty
 5519// func:amc.FDb.fbuf.EmptyQ
 5520bool                 fbuf_EmptyQ() __attribute__((nothrow, pure));
 5521// Look up row by row id. Return NULL if out of range
 5522// func:amc.FDb.fbuf.Find
 5523amc::FFbuf*          fbuf_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5524// Return pointer to last element of array, or NULL if array is empty
 5525// func:amc.FDb.fbuf.Last
 5526amc::FFbuf*          fbuf_Last() __attribute__((nothrow, pure));
 5527// Return number of items in the pool
 5528// func:amc.FDb.fbuf.N
 5529i32                  fbuf_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5530// Delete last element of array. Do nothing if array is empty.
 5531// func:amc.FDb.fbuf.RemoveLast
 5532void                 fbuf_RemoveLast() __attribute__((nothrow));
 5533// 'quick' Access row by row id. No bounds checking.
 5534// func:amc.FDb.fbuf.qFind
 5535amc::FFbuf&          fbuf_qFind(u64 t) __attribute__((nothrow, pure));
 5536// Insert row into all appropriate indices. If error occurs, store error
 5537// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5538// func:amc.FDb.fbuf.XrefMaybe
 5539bool                 fbuf_XrefMaybe(amc::FFbuf &row);
 5540
 5541// Return true if hash is empty
 5542// func:amc.FDb.ind_fbuf.EmptyQ
 5543bool                 ind_fbuf_EmptyQ() __attribute__((nothrow));
 5544// Find row by key. Return NULL if not found.
 5545// func:amc.FDb.ind_fbuf.Find
 5546amc::FFbuf*          ind_fbuf_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 5547// Find row by key. If not found, create and x-reference a new row with with this key.
 5548// func:amc.FDb.ind_fbuf.GetOrCreate
 5549amc::FFbuf&          ind_fbuf_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 5550// Return number of items in the hash
 5551// func:amc.FDb.ind_fbuf.N
 5552i32                  ind_fbuf_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5553// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 5554// func:amc.FDb.ind_fbuf.InsertMaybe
 5555bool                 ind_fbuf_InsertMaybe(amc::FFbuf& row) __attribute__((nothrow));
 5556// Remove reference to element from hash index. If element is not in hash, do nothing
 5557// func:amc.FDb.ind_fbuf.Remove
 5558void                 ind_fbuf_Remove(amc::FFbuf& row) __attribute__((nothrow));
 5559// Reserve enough room in the hash for N more elements. Return success code.
 5560// func:amc.FDb.ind_fbuf.Reserve
 5561void                 ind_fbuf_Reserve(int n) __attribute__((nothrow));
 5562
 5563// Allocate memory for new default row.
 5564// If out of memory, process is killed.
 5565// func:amc.FDb.chash.Alloc
 5566amc::FChash&         chash_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5567// Allocate memory for new element. If out of memory, return NULL.
 5568// func:amc.FDb.chash.AllocMaybe
 5569amc::FChash*         chash_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5570// Create new row from struct.
 5571// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 5572// func:amc.FDb.chash.InsertMaybe
 5573amc::FChash*         chash_InsertMaybe(const dmmeta::Chash &value) __attribute__((nothrow));
 5574// Allocate space for one element. If no memory available, return NULL.
 5575// func:amc.FDb.chash.AllocMem
 5576void*                chash_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5577// Return true if index is empty
 5578// func:amc.FDb.chash.EmptyQ
 5579bool                 chash_EmptyQ() __attribute__((nothrow, pure));
 5580// Look up row by row id. Return NULL if out of range
 5581// func:amc.FDb.chash.Find
 5582amc::FChash*         chash_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5583// Return pointer to last element of array, or NULL if array is empty
 5584// func:amc.FDb.chash.Last
 5585amc::FChash*         chash_Last() __attribute__((nothrow, pure));
 5586// Return number of items in the pool
 5587// func:amc.FDb.chash.N
 5588i32                  chash_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5589// Delete last element of array. Do nothing if array is empty.
 5590// func:amc.FDb.chash.RemoveLast
 5591void                 chash_RemoveLast() __attribute__((nothrow));
 5592// 'quick' Access row by row id. No bounds checking.
 5593// func:amc.FDb.chash.qFind
 5594amc::FChash&         chash_qFind(u64 t) __attribute__((nothrow, pure));
 5595// Insert row into all appropriate indices. If error occurs, store error
 5596// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5597// func:amc.FDb.chash.XrefMaybe
 5598bool                 chash_XrefMaybe(amc::FChash &row);
 5599
 5600// Return true if hash is empty
 5601// func:amc.FDb.ind_chash.EmptyQ
 5602bool                 ind_chash_EmptyQ() __attribute__((nothrow));
 5603// Find row by key. Return NULL if not found.
 5604// func:amc.FDb.ind_chash.Find
 5605amc::FChash*         ind_chash_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 5606// Find row by key. If not found, create and x-reference a new row with with this key.
 5607// func:amc.FDb.ind_chash.GetOrCreate
 5608amc::FChash&         ind_chash_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 5609// Return number of items in the hash
 5610// func:amc.FDb.ind_chash.N
 5611i32                  ind_chash_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5612// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 5613// func:amc.FDb.ind_chash.InsertMaybe
 5614bool                 ind_chash_InsertMaybe(amc::FChash& row) __attribute__((nothrow));
 5615// Remove reference to element from hash index. If element is not in hash, do nothing
 5616// func:amc.FDb.ind_chash.Remove
 5617void                 ind_chash_Remove(amc::FChash& row) __attribute__((nothrow));
 5618// Reserve enough room in the hash for N more elements. Return success code.
 5619// func:amc.FDb.ind_chash.Reserve
 5620void                 ind_chash_Reserve(int n) __attribute__((nothrow));
 5621
 5622// Allocate memory for new default row.
 5623// If out of memory, process is killed.
 5624// func:amc.FDb.ccmp.Alloc
 5625amc::FCcmp&          ccmp_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5626// Allocate memory for new element. If out of memory, return NULL.
 5627// func:amc.FDb.ccmp.AllocMaybe
 5628amc::FCcmp*          ccmp_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5629// Create new row from struct.
 5630// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 5631// func:amc.FDb.ccmp.InsertMaybe
 5632amc::FCcmp*          ccmp_InsertMaybe(const dmmeta::Ccmp &value) __attribute__((nothrow));
 5633// Allocate space for one element. If no memory available, return NULL.
 5634// func:amc.FDb.ccmp.AllocMem
 5635void*                ccmp_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5636// Return true if index is empty
 5637// func:amc.FDb.ccmp.EmptyQ
 5638bool                 ccmp_EmptyQ() __attribute__((nothrow, pure));
 5639// Look up row by row id. Return NULL if out of range
 5640// func:amc.FDb.ccmp.Find
 5641amc::FCcmp*          ccmp_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5642// Return pointer to last element of array, or NULL if array is empty
 5643// func:amc.FDb.ccmp.Last
 5644amc::FCcmp*          ccmp_Last() __attribute__((nothrow, pure));
 5645// Return number of items in the pool
 5646// func:amc.FDb.ccmp.N
 5647i32                  ccmp_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5648// Delete last element of array. Do nothing if array is empty.
 5649// func:amc.FDb.ccmp.RemoveLast
 5650void                 ccmp_RemoveLast() __attribute__((nothrow));
 5651// 'quick' Access row by row id. No bounds checking.
 5652// func:amc.FDb.ccmp.qFind
 5653amc::FCcmp&          ccmp_qFind(u64 t) __attribute__((nothrow, pure));
 5654// Insert row into all appropriate indices. If error occurs, store error
 5655// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5656// func:amc.FDb.ccmp.XrefMaybe
 5657bool                 ccmp_XrefMaybe(amc::FCcmp &row);
 5658
 5659// Return true if hash is empty
 5660// func:amc.FDb.ind_ccmp.EmptyQ
 5661bool                 ind_ccmp_EmptyQ() __attribute__((nothrow));
 5662// Find row by key. Return NULL if not found.
 5663// func:amc.FDb.ind_ccmp.Find
 5664amc::FCcmp*          ind_ccmp_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 5665// Find row by key. If not found, create and x-reference a new row with with this key.
 5666// func:amc.FDb.ind_ccmp.GetOrCreate
 5667amc::FCcmp&          ind_ccmp_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 5668// Return number of items in the hash
 5669// func:amc.FDb.ind_ccmp.N
 5670i32                  ind_ccmp_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5671// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 5672// func:amc.FDb.ind_ccmp.InsertMaybe
 5673bool                 ind_ccmp_InsertMaybe(amc::FCcmp& row) __attribute__((nothrow));
 5674// Remove reference to element from hash index. If element is not in hash, do nothing
 5675// func:amc.FDb.ind_ccmp.Remove
 5676void                 ind_ccmp_Remove(amc::FCcmp& row) __attribute__((nothrow));
 5677// Reserve enough room in the hash for N more elements. Return success code.
 5678// func:amc.FDb.ind_ccmp.Reserve
 5679void                 ind_ccmp_Reserve(int n) __attribute__((nothrow));
 5680
 5681// Allocate memory for new default row.
 5682// If out of memory, process is killed.
 5683// func:amc.FDb.fbigend.Alloc
 5684amc::FFbigend&       fbigend_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5685// Allocate memory for new element. If out of memory, return NULL.
 5686// func:amc.FDb.fbigend.AllocMaybe
 5687amc::FFbigend*       fbigend_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5688// Create new row from struct.
 5689// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 5690// func:amc.FDb.fbigend.InsertMaybe
 5691amc::FFbigend*       fbigend_InsertMaybe(const dmmeta::Fbigend &value) __attribute__((nothrow));
 5692// Allocate space for one element. If no memory available, return NULL.
 5693// func:amc.FDb.fbigend.AllocMem
 5694void*                fbigend_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5695// Return true if index is empty
 5696// func:amc.FDb.fbigend.EmptyQ
 5697bool                 fbigend_EmptyQ() __attribute__((nothrow, pure));
 5698// Look up row by row id. Return NULL if out of range
 5699// func:amc.FDb.fbigend.Find
 5700amc::FFbigend*       fbigend_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5701// Return pointer to last element of array, or NULL if array is empty
 5702// func:amc.FDb.fbigend.Last
 5703amc::FFbigend*       fbigend_Last() __attribute__((nothrow, pure));
 5704// Return number of items in the pool
 5705// func:amc.FDb.fbigend.N
 5706i32                  fbigend_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5707// Delete last element of array. Do nothing if array is empty.
 5708// func:amc.FDb.fbigend.RemoveLast
 5709void                 fbigend_RemoveLast() __attribute__((nothrow));
 5710// 'quick' Access row by row id. No bounds checking.
 5711// func:amc.FDb.fbigend.qFind
 5712amc::FFbigend&       fbigend_qFind(u64 t) __attribute__((nothrow, pure));
 5713// Insert row into all appropriate indices. If error occurs, store error
 5714// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5715// func:amc.FDb.fbigend.XrefMaybe
 5716bool                 fbigend_XrefMaybe(amc::FFbigend &row);
 5717
 5718// Return true if index is empty
 5719// func:amc.FDb.zsl_ctype_pack_tran.EmptyQ
 5720bool                 zsl_ctype_pack_tran_EmptyQ() __attribute__((__warn_unused_result__, nothrow, pure));
 5721// If index empty, return NULL. Otherwise return pointer to first element in index
 5722// func:amc.FDb.zsl_ctype_pack_tran.First
 5723amc::FCtype*         zsl_ctype_pack_tran_First() __attribute__((__warn_unused_result__, nothrow, pure));
 5724// Return true if row is in the linked list, false otherwise
 5725// func:amc.FDb.zsl_ctype_pack_tran.InLlistQ
 5726bool                 zsl_ctype_pack_tran_InLlistQ(amc::FCtype& row) __attribute__((__warn_unused_result__, nothrow));
 5727// Insert row into linked list. If row is already in linked list, do nothing.
 5728// func:amc.FDb.zsl_ctype_pack_tran.Insert
 5729void                 zsl_ctype_pack_tran_Insert(amc::FCtype& row) __attribute__((nothrow));
 5730// Return pointer to next element in the list
 5731// func:amc.FDb.zsl_ctype_pack_tran.Next
 5732amc::FCtype*         zsl_ctype_pack_tran_Next(amc::FCtype &row) __attribute__((__warn_unused_result__, nothrow));
 5733// Remove element from index. If element is not in index, do nothing.
 5734// Since the list is singly-linked, use linear search to locate the element.
 5735// func:amc.FDb.zsl_ctype_pack_tran.Remove
 5736void                 zsl_ctype_pack_tran_Remove(amc::FCtype& row) __attribute__((nothrow));
 5737// Empty the index. (The rows are not deleted)
 5738// func:amc.FDb.zsl_ctype_pack_tran.RemoveAll
 5739void                 zsl_ctype_pack_tran_RemoveAll() __attribute__((nothrow));
 5740// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
 5741// func:amc.FDb.zsl_ctype_pack_tran.RemoveFirst
 5742amc::FCtype*         zsl_ctype_pack_tran_RemoveFirst() __attribute__((nothrow));
 5743
 5744// Allocate memory for new default row.
 5745// If out of memory, process is killed.
 5746// func:amc.FDb.cstr.Alloc
 5747amc::FCstr&          cstr_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5748// Allocate memory for new element. If out of memory, return NULL.
 5749// func:amc.FDb.cstr.AllocMaybe
 5750amc::FCstr*          cstr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5751// Create new row from struct.
 5752// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 5753// func:amc.FDb.cstr.InsertMaybe
 5754amc::FCstr*          cstr_InsertMaybe(const dmmeta::Cstr &value) __attribute__((nothrow));
 5755// Allocate space for one element. If no memory available, return NULL.
 5756// func:amc.FDb.cstr.AllocMem
 5757void*                cstr_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5758// Return true if index is empty
 5759// func:amc.FDb.cstr.EmptyQ
 5760bool                 cstr_EmptyQ() __attribute__((nothrow, pure));
 5761// Look up row by row id. Return NULL if out of range
 5762// func:amc.FDb.cstr.Find
 5763amc::FCstr*          cstr_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5764// Return pointer to last element of array, or NULL if array is empty
 5765// func:amc.FDb.cstr.Last
 5766amc::FCstr*          cstr_Last() __attribute__((nothrow, pure));
 5767// Return number of items in the pool
 5768// func:amc.FDb.cstr.N
 5769i32                  cstr_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5770// Delete last element of array. Do nothing if array is empty.
 5771// func:amc.FDb.cstr.RemoveLast
 5772void                 cstr_RemoveLast() __attribute__((nothrow));
 5773// 'quick' Access row by row id. No bounds checking.
 5774// func:amc.FDb.cstr.qFind
 5775amc::FCstr&          cstr_qFind(u64 t) __attribute__((nothrow, pure));
 5776// Insert row into all appropriate indices. If error occurs, store error
 5777// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5778// func:amc.FDb.cstr.XrefMaybe
 5779bool                 cstr_XrefMaybe(amc::FCstr &row);
 5780
 5781// Allocate memory for new default row.
 5782// If out of memory, process is killed.
 5783// func:amc.FDb.listtype.Alloc
 5784amc::FListtype&      listtype_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5785// Allocate memory for new element. If out of memory, return NULL.
 5786// func:amc.FDb.listtype.AllocMaybe
 5787amc::FListtype*      listtype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5788// Create new row from struct.
 5789// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 5790// func:amc.FDb.listtype.InsertMaybe
 5791amc::FListtype*      listtype_InsertMaybe(const dmmeta::Listtype &value) __attribute__((nothrow));
 5792// Allocate space for one element. If no memory available, return NULL.
 5793// func:amc.FDb.listtype.AllocMem
 5794void*                listtype_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5795// Return true if index is empty
 5796// func:amc.FDb.listtype.EmptyQ
 5797bool                 listtype_EmptyQ() __attribute__((nothrow, pure));
 5798// Look up row by row id. Return NULL if out of range
 5799// func:amc.FDb.listtype.Find
 5800amc::FListtype*      listtype_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5801// Return pointer to last element of array, or NULL if array is empty
 5802// func:amc.FDb.listtype.Last
 5803amc::FListtype*      listtype_Last() __attribute__((nothrow, pure));
 5804// Return number of items in the pool
 5805// func:amc.FDb.listtype.N
 5806i32                  listtype_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5807// Delete last element of array. Do nothing if array is empty.
 5808// func:amc.FDb.listtype.RemoveLast
 5809void                 listtype_RemoveLast() __attribute__((nothrow));
 5810// 'quick' Access row by row id. No bounds checking.
 5811// func:amc.FDb.listtype.qFind
 5812amc::FListtype&      listtype_qFind(u64 t) __attribute__((nothrow, pure));
 5813// Insert row into all appropriate indices. If error occurs, store error
 5814// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5815// func:amc.FDb.listtype.XrefMaybe
 5816bool                 listtype_XrefMaybe(amc::FListtype &row);
 5817
 5818// Return true if hash is empty
 5819// func:amc.FDb.ind_listtype.EmptyQ
 5820bool                 ind_listtype_EmptyQ() __attribute__((nothrow));
 5821// Find row by key. Return NULL if not found.
 5822// func:amc.FDb.ind_listtype.Find
 5823amc::FListtype*      ind_listtype_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 5824// Find row by key. If not found, create and x-reference a new row with with this key.
 5825// func:amc.FDb.ind_listtype.GetOrCreate
 5826amc::FListtype&      ind_listtype_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 5827// Return number of items in the hash
 5828// func:amc.FDb.ind_listtype.N
 5829i32                  ind_listtype_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5830// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 5831// func:amc.FDb.ind_listtype.InsertMaybe
 5832bool                 ind_listtype_InsertMaybe(amc::FListtype& row) __attribute__((nothrow));
 5833// Remove reference to element from hash index. If element is not in hash, do nothing
 5834// func:amc.FDb.ind_listtype.Remove
 5835void                 ind_listtype_Remove(amc::FListtype& row) __attribute__((nothrow));
 5836// Reserve enough room in the hash for N more elements. Return success code.
 5837// func:amc.FDb.ind_listtype.Reserve
 5838void                 ind_listtype_Reserve(int n) __attribute__((nothrow));
 5839
 5840// Allocate memory for new default row.
 5841// If out of memory, process is killed.
 5842// func:amc.FDb.fstep.Alloc
 5843amc::FFstep&         fstep_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5844// Allocate memory for new element. If out of memory, return NULL.
 5845// func:amc.FDb.fstep.AllocMaybe
 5846amc::FFstep*         fstep_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5847// Create new row from struct.
 5848// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 5849// func:amc.FDb.fstep.InsertMaybe
 5850amc::FFstep*         fstep_InsertMaybe(const dmmeta::Fstep &value) __attribute__((nothrow));
 5851// Allocate space for one element. If no memory available, return NULL.
 5852// func:amc.FDb.fstep.AllocMem
 5853void*                fstep_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5854// Return true if index is empty
 5855// func:amc.FDb.fstep.EmptyQ
 5856bool                 fstep_EmptyQ() __attribute__((nothrow, pure));
 5857// Look up row by row id. Return NULL if out of range
 5858// func:amc.FDb.fstep.Find
 5859amc::FFstep*         fstep_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5860// Return pointer to last element of array, or NULL if array is empty
 5861// func:amc.FDb.fstep.Last
 5862amc::FFstep*         fstep_Last() __attribute__((nothrow, pure));
 5863// Return number of items in the pool
 5864// func:amc.FDb.fstep.N
 5865i32                  fstep_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5866// Delete last element of array. Do nothing if array is empty.
 5867// func:amc.FDb.fstep.RemoveLast
 5868void                 fstep_RemoveLast() __attribute__((nothrow));
 5869// 'quick' Access row by row id. No bounds checking.
 5870// func:amc.FDb.fstep.qFind
 5871amc::FFstep&         fstep_qFind(u64 t) __attribute__((nothrow, pure));
 5872// Insert row into all appropriate indices. If error occurs, store error
 5873// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5874// func:amc.FDb.fstep.XrefMaybe
 5875bool                 fstep_XrefMaybe(amc::FFstep &row);
 5876
 5877// Allocate memory for new default row.
 5878// If out of memory, process is killed.
 5879// func:amc.FDb.cextern.Alloc
 5880amc::FCextern&       cextern_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5881// Allocate memory for new element. If out of memory, return NULL.
 5882// func:amc.FDb.cextern.AllocMaybe
 5883amc::FCextern*       cextern_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5884// Create new row from struct.
 5885// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 5886// func:amc.FDb.cextern.InsertMaybe
 5887amc::FCextern*       cextern_InsertMaybe(const dmmeta::Cextern &value) __attribute__((nothrow));
 5888// Allocate space for one element. If no memory available, return NULL.
 5889// func:amc.FDb.cextern.AllocMem
 5890void*                cextern_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5891// Return true if index is empty
 5892// func:amc.FDb.cextern.EmptyQ
 5893bool                 cextern_EmptyQ() __attribute__((nothrow, pure));
 5894// Look up row by row id. Return NULL if out of range
 5895// func:amc.FDb.cextern.Find
 5896amc::FCextern*       cextern_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5897// Return pointer to last element of array, or NULL if array is empty
 5898// func:amc.FDb.cextern.Last
 5899amc::FCextern*       cextern_Last() __attribute__((nothrow, pure));
 5900// Return number of items in the pool
 5901// func:amc.FDb.cextern.N
 5902i32                  cextern_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5903// Delete last element of array. Do nothing if array is empty.
 5904// func:amc.FDb.cextern.RemoveLast
 5905void                 cextern_RemoveLast() __attribute__((nothrow));
 5906// 'quick' Access row by row id. No bounds checking.
 5907// func:amc.FDb.cextern.qFind
 5908amc::FCextern&       cextern_qFind(u64 t) __attribute__((nothrow, pure));
 5909// Insert row into all appropriate indices. If error occurs, store error
 5910// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5911// func:amc.FDb.cextern.XrefMaybe
 5912bool                 cextern_XrefMaybe(amc::FCextern &row);
 5913
 5914// Allocate memory for new default row.
 5915// If out of memory, process is killed.
 5916// func:amc.FDb.fdelay.Alloc
 5917amc::FFdelay&        fdelay_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5918// Allocate memory for new element. If out of memory, return NULL.
 5919// func:amc.FDb.fdelay.AllocMaybe
 5920amc::FFdelay*        fdelay_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5921// Create new row from struct.
 5922// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 5923// func:amc.FDb.fdelay.InsertMaybe
 5924amc::FFdelay*        fdelay_InsertMaybe(const dmmeta::Fdelay &value) __attribute__((nothrow));
 5925// Allocate space for one element. If no memory available, return NULL.
 5926// func:amc.FDb.fdelay.AllocMem
 5927void*                fdelay_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5928// Return true if index is empty
 5929// func:amc.FDb.fdelay.EmptyQ
 5930bool                 fdelay_EmptyQ() __attribute__((nothrow, pure));
 5931// Look up row by row id. Return NULL if out of range
 5932// func:amc.FDb.fdelay.Find
 5933amc::FFdelay*        fdelay_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5934// Return pointer to last element of array, or NULL if array is empty
 5935// func:amc.FDb.fdelay.Last
 5936amc::FFdelay*        fdelay_Last() __attribute__((nothrow, pure));
 5937// Return number of items in the pool
 5938// func:amc.FDb.fdelay.N
 5939i32                  fdelay_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5940// Delete last element of array. Do nothing if array is empty.
 5941// func:amc.FDb.fdelay.RemoveLast
 5942void                 fdelay_RemoveLast() __attribute__((nothrow));
 5943// 'quick' Access row by row id. No bounds checking.
 5944// func:amc.FDb.fdelay.qFind
 5945amc::FFdelay&        fdelay_qFind(u64 t) __attribute__((nothrow, pure));
 5946// Insert row into all appropriate indices. If error occurs, store error
 5947// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5948// func:amc.FDb.fdelay.XrefMaybe
 5949bool                 fdelay_XrefMaybe(amc::FFdelay &row);
 5950
 5951// Allocate memory for new default row.
 5952// If out of memory, process is killed.
 5953// func:amc.FDb.disptrace.Alloc
 5954amc::FDisptrace&     disptrace_Alloc() __attribute__((__warn_unused_result__, nothrow));
 5955// Allocate memory for new element. If out of memory, return NULL.
 5956// func:amc.FDb.disptrace.AllocMaybe
 5957amc::FDisptrace*     disptrace_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 5958// Create new row from struct.
 5959// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 5960// func:amc.FDb.disptrace.InsertMaybe
 5961amc::FDisptrace*     disptrace_InsertMaybe(const dmmeta::Disptrace &value) __attribute__((nothrow));
 5962// Allocate space for one element. If no memory available, return NULL.
 5963// func:amc.FDb.disptrace.AllocMem
 5964void*                disptrace_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 5965// Return true if index is empty
 5966// func:amc.FDb.disptrace.EmptyQ
 5967bool                 disptrace_EmptyQ() __attribute__((nothrow, pure));
 5968// Look up row by row id. Return NULL if out of range
 5969// func:amc.FDb.disptrace.Find
 5970amc::FDisptrace*     disptrace_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 5971// Return pointer to last element of array, or NULL if array is empty
 5972// func:amc.FDb.disptrace.Last
 5973amc::FDisptrace*     disptrace_Last() __attribute__((nothrow, pure));
 5974// Return number of items in the pool
 5975// func:amc.FDb.disptrace.N
 5976i32                  disptrace_N() __attribute__((__warn_unused_result__, nothrow, pure));
 5977// Delete last element of array. Do nothing if array is empty.
 5978// func:amc.FDb.disptrace.RemoveLast
 5979void                 disptrace_RemoveLast() __attribute__((nothrow));
 5980// 'quick' Access row by row id. No bounds checking.
 5981// func:amc.FDb.disptrace.qFind
 5982amc::FDisptrace&     disptrace_qFind(u64 t) __attribute__((nothrow, pure));
 5983// Insert row into all appropriate indices. If error occurs, store error
 5984// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 5985// func:amc.FDb.disptrace.XrefMaybe
 5986bool                 disptrace_XrefMaybe(amc::FDisptrace &row);
 5987
 5988// Return true if hash is empty
 5989// func:amc.FDb.ind_fstep.EmptyQ
 5990bool                 ind_fstep_EmptyQ() __attribute__((nothrow));
 5991// Find row by key. Return NULL if not found.
 5992// func:amc.FDb.ind_fstep.Find
 5993amc::FFstep*         ind_fstep_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 5994// Find row by key. If not found, create and x-reference a new row with with this key.
 5995// func:amc.FDb.ind_fstep.GetOrCreate
 5996amc::FFstep&         ind_fstep_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 5997// Return number of items in the hash
 5998// func:amc.FDb.ind_fstep.N
 5999i32                  ind_fstep_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6000// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 6001// func:amc.FDb.ind_fstep.InsertMaybe
 6002bool                 ind_fstep_InsertMaybe(amc::FFstep& row) __attribute__((nothrow));
 6003// Remove reference to element from hash index. If element is not in hash, do nothing
 6004// func:amc.FDb.ind_fstep.Remove
 6005void                 ind_fstep_Remove(amc::FFstep& row) __attribute__((nothrow));
 6006// Reserve enough room in the hash for N more elements. Return success code.
 6007// func:amc.FDb.ind_fstep.Reserve
 6008void                 ind_fstep_Reserve(int n) __attribute__((nothrow));
 6009
 6010// Allocate memory for new default row.
 6011// If out of memory, process is killed.
 6012// func:amc.FDb.tracefld.Alloc
 6013amc::FTracefld&      tracefld_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6014// Allocate memory for new element. If out of memory, return NULL.
 6015// func:amc.FDb.tracefld.AllocMaybe
 6016amc::FTracefld*      tracefld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6017// Create new row from struct.
 6018// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6019// func:amc.FDb.tracefld.InsertMaybe
 6020amc::FTracefld*      tracefld_InsertMaybe(const dmmeta::Tracefld &value) __attribute__((nothrow));
 6021// Allocate space for one element. If no memory available, return NULL.
 6022// func:amc.FDb.tracefld.AllocMem
 6023void*                tracefld_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6024// Return true if index is empty
 6025// func:amc.FDb.tracefld.EmptyQ
 6026bool                 tracefld_EmptyQ() __attribute__((nothrow, pure));
 6027// Look up row by row id. Return NULL if out of range
 6028// func:amc.FDb.tracefld.Find
 6029amc::FTracefld*      tracefld_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6030// Return pointer to last element of array, or NULL if array is empty
 6031// func:amc.FDb.tracefld.Last
 6032amc::FTracefld*      tracefld_Last() __attribute__((nothrow, pure));
 6033// Return number of items in the pool
 6034// func:amc.FDb.tracefld.N
 6035i32                  tracefld_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6036// Remove all elements from Lary
 6037// func:amc.FDb.tracefld.RemoveAll
 6038void                 tracefld_RemoveAll() __attribute__((nothrow));
 6039// Delete last element of array. Do nothing if array is empty.
 6040// func:amc.FDb.tracefld.RemoveLast
 6041void                 tracefld_RemoveLast() __attribute__((nothrow));
 6042// 'quick' Access row by row id. No bounds checking.
 6043// func:amc.FDb.tracefld.qFind
 6044amc::FTracefld&      tracefld_qFind(u64 t) __attribute__((nothrow, pure));
 6045// Save table to ssimfile
 6046// func:amc.FDb.tracefld.SaveSsimfile
 6047bool                 tracefld_SaveSsimfile(algo::strptr fname) __attribute__((nothrow));
 6048// Insert row into all appropriate indices. If error occurs, store error
 6049// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6050// func:amc.FDb.tracefld.XrefMaybe
 6051bool                 tracefld_XrefMaybe(amc::FTracefld &row);
 6052
 6053// Allocate memory for new default row.
 6054// If out of memory, process is killed.
 6055// func:amc.FDb.tracerec.Alloc
 6056amc::FTracerec&      tracerec_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6057// Allocate memory for new element. If out of memory, return NULL.
 6058// func:amc.FDb.tracerec.AllocMaybe
 6059amc::FTracerec*      tracerec_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6060// Create new row from struct.
 6061// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6062// func:amc.FDb.tracerec.InsertMaybe
 6063amc::FTracerec*      tracerec_InsertMaybe(const dmmeta::Tracerec &value) __attribute__((nothrow));
 6064// Allocate space for one element. If no memory available, return NULL.
 6065// func:amc.FDb.tracerec.AllocMem
 6066void*                tracerec_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6067// Return true if index is empty
 6068// func:amc.FDb.tracerec.EmptyQ
 6069bool                 tracerec_EmptyQ() __attribute__((nothrow, pure));
 6070// Look up row by row id. Return NULL if out of range
 6071// func:amc.FDb.tracerec.Find
 6072amc::FTracerec*      tracerec_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6073// Return pointer to last element of array, or NULL if array is empty
 6074// func:amc.FDb.tracerec.Last
 6075amc::FTracerec*      tracerec_Last() __attribute__((nothrow, pure));
 6076// Return number of items in the pool
 6077// func:amc.FDb.tracerec.N
 6078i32                  tracerec_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6079// Remove all elements from Lary
 6080// func:amc.FDb.tracerec.RemoveAll
 6081void                 tracerec_RemoveAll() __attribute__((nothrow));
 6082// Delete last element of array. Do nothing if array is empty.
 6083// func:amc.FDb.tracerec.RemoveLast
 6084void                 tracerec_RemoveLast() __attribute__((nothrow));
 6085// 'quick' Access row by row id. No bounds checking.
 6086// func:amc.FDb.tracerec.qFind
 6087amc::FTracerec&      tracerec_qFind(u64 t) __attribute__((nothrow, pure));
 6088// Save table to ssimfile
 6089// func:amc.FDb.tracerec.SaveSsimfile
 6090bool                 tracerec_SaveSsimfile(algo::strptr fname) __attribute__((nothrow));
 6091// Insert row into all appropriate indices. If error occurs, store error
 6092// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6093// func:amc.FDb.tracerec.XrefMaybe
 6094bool                 tracerec_XrefMaybe(amc::FTracerec &row);
 6095
 6096// Allocate memory for new default row.
 6097// If out of memory, process is killed.
 6098// func:amc.FDb.dispsig.Alloc
 6099amc::FDispsig&       dispsig_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6100// Allocate memory for new element. If out of memory, return NULL.
 6101// func:amc.FDb.dispsig.AllocMaybe
 6102amc::FDispsig*       dispsig_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6103// Create new row from struct.
 6104// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6105// func:amc.FDb.dispsig.InsertMaybe
 6106amc::FDispsig*       dispsig_InsertMaybe(const dmmeta::Dispsig &value) __attribute__((nothrow));
 6107// Allocate space for one element. If no memory available, return NULL.
 6108// func:amc.FDb.dispsig.AllocMem
 6109void*                dispsig_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6110// Return true if index is empty
 6111// func:amc.FDb.dispsig.EmptyQ
 6112bool                 dispsig_EmptyQ() __attribute__((nothrow, pure));
 6113// Look up row by row id. Return NULL if out of range
 6114// func:amc.FDb.dispsig.Find
 6115amc::FDispsig*       dispsig_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6116// Return pointer to last element of array, or NULL if array is empty
 6117// func:amc.FDb.dispsig.Last
 6118amc::FDispsig*       dispsig_Last() __attribute__((nothrow, pure));
 6119// Return number of items in the pool
 6120// func:amc.FDb.dispsig.N
 6121i32                  dispsig_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6122// Remove all elements from Lary
 6123// func:amc.FDb.dispsig.RemoveAll
 6124void                 dispsig_RemoveAll() __attribute__((nothrow));
 6125// Delete last element of array. Do nothing if array is empty.
 6126// func:amc.FDb.dispsig.RemoveLast
 6127void                 dispsig_RemoveLast() __attribute__((nothrow));
 6128// 'quick' Access row by row id. No bounds checking.
 6129// func:amc.FDb.dispsig.qFind
 6130amc::FDispsig&       dispsig_qFind(u64 t) __attribute__((nothrow, pure));
 6131// Insert row into all appropriate indices. If error occurs, store error
 6132// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6133// func:amc.FDb.dispsig.XrefMaybe
 6134bool                 dispsig_XrefMaybe(amc::FDispsig &row);
 6135
 6136// Return true if index is empty
 6137// func:amc.FDb.c_dispsig_sorted.EmptyQ
 6138bool                 c_dispsig_sorted_EmptyQ() __attribute__((nothrow));
 6139// Look up row by row id. Return NULL if out of range
 6140// func:amc.FDb.c_dispsig_sorted.Find
 6141amc::FDispsig*       c_dispsig_sorted_Find(u32 t) __attribute__((__warn_unused_result__, nothrow));
 6142// Return array of pointers
 6143// func:amc.FDb.c_dispsig_sorted.Getary
 6144algo::aryptr<amc::FDispsig*> c_dispsig_sorted_Getary() __attribute__((nothrow));
 6145// Insert pointer to row into array. Row must not already be in array.
 6146// If pointer is already in the array, it may be inserted twice.
 6147// func:amc.FDb.c_dispsig_sorted.Insert
 6148void                 c_dispsig_sorted_Insert(amc::FDispsig& row) __attribute__((nothrow));
 6149// Insert pointer to row in array.
 6150// If row is already in the array, do nothing.
 6151// Return value: whether element was inserted into array.
 6152// func:amc.FDb.c_dispsig_sorted.InsertMaybe
 6153bool                 c_dispsig_sorted_InsertMaybe(amc::FDispsig& row) __attribute__((nothrow));
 6154// Return number of items in the pointer array
 6155// func:amc.FDb.c_dispsig_sorted.N
 6156i32                  c_dispsig_sorted_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6157// Find element using linear scan. If element is in array, remove, otherwise do nothing
 6158// func:amc.FDb.c_dispsig_sorted.Remove
 6159void                 c_dispsig_sorted_Remove(amc::FDispsig& row) __attribute__((nothrow));
 6160// Empty the index. (The rows are not deleted)
 6161// func:amc.FDb.c_dispsig_sorted.RemoveAll
 6162void                 c_dispsig_sorted_RemoveAll() __attribute__((nothrow));
 6163// Reserve space in index for N more elements;
 6164// func:amc.FDb.c_dispsig_sorted.Reserve
 6165void                 c_dispsig_sorted_Reserve(u32 n) __attribute__((nothrow));
 6166// Return reference without bounds checking
 6167// func:amc.FDb.c_dispsig_sorted.qFind
 6168amc::FDispsig&       c_dispsig_sorted_qFind(u32 idx) __attribute__((nothrow));
 6169// True if row is in any ptrary instance
 6170// func:amc.FDb.c_dispsig_sorted.InAryQ
 6171bool                 c_dispsig_sorted_InAryQ(amc::FDispsig& row) __attribute__((nothrow));
 6172// Reference to last element without bounds checking
 6173// func:amc.FDb.c_dispsig_sorted.qLast
 6174amc::FDispsig&       c_dispsig_sorted_qLast() __attribute__((nothrow));
 6175// Verify whether array is sorted
 6176// func:amc.FDb.c_dispsig_sorted.SortedQ
 6177bool                 c_dispsig_sorted_SortedQ() __attribute__((nothrow));
 6178// Insertion sort
 6179// func:amc.FDb.c_dispsig_sorted.InsertionSort
 6180void                 c_dispsig_sorted_InsertionSort() __attribute__((nothrow));
 6181// Heap sort
 6182// func:amc.FDb.c_dispsig_sorted.HeapSort
 6183void                 c_dispsig_sorted_HeapSort() __attribute__((nothrow));
 6184// Quick sort
 6185// func:amc.FDb.c_dispsig_sorted.QuickSort
 6186void                 c_dispsig_sorted_QuickSort() __attribute__((nothrow));
 6187// Save table to ssimfile
 6188// func:amc.FDb.c_dispsig_sorted.SaveSsimfile
 6189bool                 c_dispsig_sorted_SaveSsimfile(algo::strptr fname) __attribute__((nothrow));
 6190
 6191// Return true if index is empty
 6192// func:amc.FDb.zs_sig_visit.EmptyQ
 6193bool                 zs_sig_visit_EmptyQ() __attribute__((__warn_unused_result__, nothrow, pure));
 6194// If index empty, return NULL. Otherwise return pointer to first element in index
 6195// func:amc.FDb.zs_sig_visit.First
 6196amc::FCtype*         zs_sig_visit_First() __attribute__((__warn_unused_result__, nothrow, pure));
 6197// Return true if row is in the linked list, false otherwise
 6198// func:amc.FDb.zs_sig_visit.InLlistQ
 6199bool                 zs_sig_visit_InLlistQ(amc::FCtype& row) __attribute__((__warn_unused_result__, nothrow));
 6200// Insert row into linked list. If row is already in linked list, do nothing.
 6201// func:amc.FDb.zs_sig_visit.Insert
 6202void                 zs_sig_visit_Insert(amc::FCtype& row) __attribute__((nothrow));
 6203// If index empty, return NULL. Otherwise return pointer to last element in index
 6204// func:amc.FDb.zs_sig_visit.Last
 6205amc::FCtype*         zs_sig_visit_Last() __attribute__((__warn_unused_result__, nothrow, pure));
 6206// Return pointer to next element in the list
 6207// func:amc.FDb.zs_sig_visit.Next
 6208amc::FCtype*         zs_sig_visit_Next(amc::FCtype &row) __attribute__((__warn_unused_result__, nothrow));
 6209// Remove element from index. If element is not in index, do nothing.
 6210// Since the list is singly-linked, use linear search to locate the element.
 6211// func:amc.FDb.zs_sig_visit.Remove
 6212void                 zs_sig_visit_Remove(amc::FCtype& row) __attribute__((nothrow));
 6213// Empty the index. (The rows are not deleted)
 6214// func:amc.FDb.zs_sig_visit.RemoveAll
 6215void                 zs_sig_visit_RemoveAll() __attribute__((nothrow));
 6216// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
 6217// func:amc.FDb.zs_sig_visit.RemoveFirst
 6218amc::FCtype*         zs_sig_visit_RemoveFirst() __attribute__((nothrow));
 6219// Return reference to last element in the index. No bounds checking.
 6220// func:amc.FDb.zs_sig_visit.qLast
 6221amc::FCtype&         zs_sig_visit_qLast() __attribute__((__warn_unused_result__, nothrow));
 6222
 6223// Allocate memory for new default row.
 6224// If out of memory, process is killed.
 6225// func:amc.FDb.target.Alloc
 6226amc::FTarget&        target_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6227// Allocate memory for new element. If out of memory, return NULL.
 6228// func:amc.FDb.target.AllocMaybe
 6229amc::FTarget*        target_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6230// Create new row from struct.
 6231// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6232// func:amc.FDb.target.InsertMaybe
 6233amc::FTarget*        target_InsertMaybe(const dev::Target &value) __attribute__((nothrow));
 6234// Allocate space for one element. If no memory available, return NULL.
 6235// func:amc.FDb.target.AllocMem
 6236void*                target_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6237// Return true if index is empty
 6238// func:amc.FDb.target.EmptyQ
 6239bool                 target_EmptyQ() __attribute__((nothrow, pure));
 6240// Look up row by row id. Return NULL if out of range
 6241// func:amc.FDb.target.Find
 6242amc::FTarget*        target_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6243// Return pointer to last element of array, or NULL if array is empty
 6244// func:amc.FDb.target.Last
 6245amc::FTarget*        target_Last() __attribute__((nothrow, pure));
 6246// Return number of items in the pool
 6247// func:amc.FDb.target.N
 6248i32                  target_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6249// Delete last element of array. Do nothing if array is empty.
 6250// func:amc.FDb.target.RemoveLast
 6251void                 target_RemoveLast() __attribute__((nothrow));
 6252// 'quick' Access row by row id. No bounds checking.
 6253// func:amc.FDb.target.qFind
 6254amc::FTarget&        target_qFind(u64 t) __attribute__((nothrow, pure));
 6255// Insert row into all appropriate indices. If error occurs, store error
 6256// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6257// func:amc.FDb.target.XrefMaybe
 6258bool                 target_XrefMaybe(amc::FTarget &row);
 6259
 6260// Return true if hash is empty
 6261// func:amc.FDb.ind_target.EmptyQ
 6262bool                 ind_target_EmptyQ() __attribute__((nothrow));
 6263// Find row by key. Return NULL if not found.
 6264// func:amc.FDb.ind_target.Find
 6265amc::FTarget*        ind_target_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 6266// Find row by key. If not found, create and x-reference a new row with with this key.
 6267// func:amc.FDb.ind_target.GetOrCreate
 6268amc::FTarget&        ind_target_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 6269// Return number of items in the hash
 6270// func:amc.FDb.ind_target.N
 6271i32                  ind_target_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6272// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 6273// func:amc.FDb.ind_target.InsertMaybe
 6274bool                 ind_target_InsertMaybe(amc::FTarget& row) __attribute__((nothrow));
 6275// Remove reference to element from hash index. If element is not in hash, do nothing
 6276// func:amc.FDb.ind_target.Remove
 6277void                 ind_target_Remove(amc::FTarget& row) __attribute__((nothrow));
 6278// Reserve enough room in the hash for N more elements. Return success code.
 6279// func:amc.FDb.ind_target.Reserve
 6280void                 ind_target_Reserve(int n) __attribute__((nothrow));
 6281
 6282// Allocate memory for new default row.
 6283// If out of memory, process is killed.
 6284// func:amc.FDb.targdep.Alloc
 6285amc::FTargdep&       targdep_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6286// Allocate memory for new element. If out of memory, return NULL.
 6287// func:amc.FDb.targdep.AllocMaybe
 6288amc::FTargdep*       targdep_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6289// Create new row from struct.
 6290// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6291// func:amc.FDb.targdep.InsertMaybe
 6292amc::FTargdep*       targdep_InsertMaybe(const dev::Targdep &value) __attribute__((nothrow));
 6293// Allocate space for one element. If no memory available, return NULL.
 6294// func:amc.FDb.targdep.AllocMem
 6295void*                targdep_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6296// Return true if index is empty
 6297// func:amc.FDb.targdep.EmptyQ
 6298bool                 targdep_EmptyQ() __attribute__((nothrow, pure));
 6299// Look up row by row id. Return NULL if out of range
 6300// func:amc.FDb.targdep.Find
 6301amc::FTargdep*       targdep_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6302// Return pointer to last element of array, or NULL if array is empty
 6303// func:amc.FDb.targdep.Last
 6304amc::FTargdep*       targdep_Last() __attribute__((nothrow, pure));
 6305// Return number of items in the pool
 6306// func:amc.FDb.targdep.N
 6307i32                  targdep_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6308// Delete last element of array. Do nothing if array is empty.
 6309// func:amc.FDb.targdep.RemoveLast
 6310void                 targdep_RemoveLast() __attribute__((nothrow));
 6311// 'quick' Access row by row id. No bounds checking.
 6312// func:amc.FDb.targdep.qFind
 6313amc::FTargdep&       targdep_qFind(u64 t) __attribute__((nothrow, pure));
 6314// Insert row into all appropriate indices. If error occurs, store error
 6315// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6316// func:amc.FDb.targdep.XrefMaybe
 6317bool                 targdep_XrefMaybe(amc::FTargdep &row);
 6318
 6319// Allocate memory for new default row.
 6320// If out of memory, process is killed.
 6321// func:amc.FDb.dispctx.Alloc
 6322amc::FDispctx&       dispctx_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6323// Allocate memory for new element. If out of memory, return NULL.
 6324// func:amc.FDb.dispctx.AllocMaybe
 6325amc::FDispctx*       dispctx_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6326// Create new row from struct.
 6327// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6328// func:amc.FDb.dispctx.InsertMaybe
 6329amc::FDispctx*       dispctx_InsertMaybe(const dmmeta::Dispctx &value) __attribute__((nothrow));
 6330// Allocate space for one element. If no memory available, return NULL.
 6331// func:amc.FDb.dispctx.AllocMem
 6332void*                dispctx_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6333// Return true if index is empty
 6334// func:amc.FDb.dispctx.EmptyQ
 6335bool                 dispctx_EmptyQ() __attribute__((nothrow, pure));
 6336// Look up row by row id. Return NULL if out of range
 6337// func:amc.FDb.dispctx.Find
 6338amc::FDispctx*       dispctx_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6339// Return pointer to last element of array, or NULL if array is empty
 6340// func:amc.FDb.dispctx.Last
 6341amc::FDispctx*       dispctx_Last() __attribute__((nothrow, pure));
 6342// Return number of items in the pool
 6343// func:amc.FDb.dispctx.N
 6344i32                  dispctx_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6345// Delete last element of array. Do nothing if array is empty.
 6346// func:amc.FDb.dispctx.RemoveLast
 6347void                 dispctx_RemoveLast() __attribute__((nothrow));
 6348// 'quick' Access row by row id. No bounds checking.
 6349// func:amc.FDb.dispctx.qFind
 6350amc::FDispctx&       dispctx_qFind(u64 t) __attribute__((nothrow, pure));
 6351// Insert row into all appropriate indices. If error occurs, store error
 6352// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6353// func:amc.FDb.dispctx.XrefMaybe
 6354bool                 dispctx_XrefMaybe(amc::FDispctx &row);
 6355
 6356// Allocate memory for new default row.
 6357// If out of memory, process is killed.
 6358// func:amc.FDb.pmaskfld.Alloc
 6359amc::FPmaskfld&      pmaskfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6360// Allocate memory for new element. If out of memory, return NULL.
 6361// func:amc.FDb.pmaskfld.AllocMaybe
 6362amc::FPmaskfld*      pmaskfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6363// Create new row from struct.
 6364// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6365// func:amc.FDb.pmaskfld.InsertMaybe
 6366amc::FPmaskfld*      pmaskfld_InsertMaybe(const dmmeta::Pmaskfld &value) __attribute__((nothrow));
 6367// Allocate space for one element. If no memory available, return NULL.
 6368// func:amc.FDb.pmaskfld.AllocMem
 6369void*                pmaskfld_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6370// Return true if index is empty
 6371// func:amc.FDb.pmaskfld.EmptyQ
 6372bool                 pmaskfld_EmptyQ() __attribute__((nothrow, pure));
 6373// Look up row by row id. Return NULL if out of range
 6374// func:amc.FDb.pmaskfld.Find
 6375amc::FPmaskfld*      pmaskfld_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6376// Return pointer to last element of array, or NULL if array is empty
 6377// func:amc.FDb.pmaskfld.Last
 6378amc::FPmaskfld*      pmaskfld_Last() __attribute__((nothrow, pure));
 6379// Return number of items in the pool
 6380// func:amc.FDb.pmaskfld.N
 6381i32                  pmaskfld_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6382// Delete last element of array. Do nothing if array is empty.
 6383// func:amc.FDb.pmaskfld.RemoveLast
 6384void                 pmaskfld_RemoveLast() __attribute__((nothrow));
 6385// 'quick' Access row by row id. No bounds checking.
 6386// func:amc.FDb.pmaskfld.qFind
 6387amc::FPmaskfld&      pmaskfld_qFind(u64 t) __attribute__((nothrow, pure));
 6388// Insert row into all appropriate indices. If error occurs, store error
 6389// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6390// func:amc.FDb.pmaskfld.XrefMaybe
 6391bool                 pmaskfld_XrefMaybe(amc::FPmaskfld &row);
 6392
 6393// Allocate memory for new default row.
 6394// If out of memory, process is killed.
 6395// func:amc.FDb.fwddecl.Alloc
 6396amc::FFwddecl&       fwddecl_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6397// Allocate memory for new element. If out of memory, return NULL.
 6398// func:amc.FDb.fwddecl.AllocMaybe
 6399amc::FFwddecl*       fwddecl_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6400// Create new row from struct.
 6401// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6402// func:amc.FDb.fwddecl.InsertMaybe
 6403amc::FFwddecl*       fwddecl_InsertMaybe(const dmmeta::Fwddecl &value) __attribute__((nothrow));
 6404// Allocate space for one element. If no memory available, return NULL.
 6405// func:amc.FDb.fwddecl.AllocMem
 6406void*                fwddecl_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6407// Return true if index is empty
 6408// func:amc.FDb.fwddecl.EmptyQ
 6409bool                 fwddecl_EmptyQ() __attribute__((nothrow, pure));
 6410// Look up row by row id. Return NULL if out of range
 6411// func:amc.FDb.fwddecl.Find
 6412amc::FFwddecl*       fwddecl_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6413// Return pointer to last element of array, or NULL if array is empty
 6414// func:amc.FDb.fwddecl.Last
 6415amc::FFwddecl*       fwddecl_Last() __attribute__((nothrow, pure));
 6416// Return number of items in the pool
 6417// func:amc.FDb.fwddecl.N
 6418i32                  fwddecl_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6419// Delete last element of array. Do nothing if array is empty.
 6420// func:amc.FDb.fwddecl.RemoveLast
 6421void                 fwddecl_RemoveLast() __attribute__((nothrow));
 6422// 'quick' Access row by row id. No bounds checking.
 6423// func:amc.FDb.fwddecl.qFind
 6424amc::FFwddecl&       fwddecl_qFind(u64 t) __attribute__((nothrow, pure));
 6425// Insert row into all appropriate indices. If error occurs, store error
 6426// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6427// func:amc.FDb.fwddecl.XrefMaybe
 6428bool                 fwddecl_XrefMaybe(amc::FFwddecl &row);
 6429
 6430// Return true if hash is empty
 6431// func:amc.FDb.ind_fwddecl.EmptyQ
 6432bool                 ind_fwddecl_EmptyQ() __attribute__((nothrow));
 6433// Find row by key. Return NULL if not found.
 6434// func:amc.FDb.ind_fwddecl.Find
 6435amc::FFwddecl*       ind_fwddecl_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 6436// Find row by key. If not found, create and x-reference a new row with with this key.
 6437// func:amc.FDb.ind_fwddecl.GetOrCreate
 6438amc::FFwddecl&       ind_fwddecl_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 6439// Return number of items in the hash
 6440// func:amc.FDb.ind_fwddecl.N
 6441i32                  ind_fwddecl_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6442// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 6443// func:amc.FDb.ind_fwddecl.InsertMaybe
 6444bool                 ind_fwddecl_InsertMaybe(amc::FFwddecl& row) __attribute__((nothrow));
 6445// Remove reference to element from hash index. If element is not in hash, do nothing
 6446// func:amc.FDb.ind_fwddecl.Remove
 6447void                 ind_fwddecl_Remove(amc::FFwddecl& row) __attribute__((nothrow));
 6448// Reserve enough room in the hash for N more elements. Return success code.
 6449// func:amc.FDb.ind_fwddecl.Reserve
 6450void                 ind_fwddecl_Reserve(int n) __attribute__((nothrow));
 6451
 6452// Allocate memory for new default row.
 6453// If out of memory, process is killed.
 6454// func:amc.FDb.tfunc.Alloc
 6455amc::FTfunc&         tfunc_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6456// Allocate memory for new element. If out of memory, return NULL.
 6457// func:amc.FDb.tfunc.AllocMaybe
 6458amc::FTfunc*         tfunc_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6459// Create new row from struct.
 6460// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6461// func:amc.FDb.tfunc.InsertMaybe
 6462amc::FTfunc*         tfunc_InsertMaybe(const amcdb::Tfunc &value) __attribute__((nothrow));
 6463// Allocate space for one element. If no memory available, return NULL.
 6464// func:amc.FDb.tfunc.AllocMem
 6465void*                tfunc_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6466// Return true if index is empty
 6467// func:amc.FDb.tfunc.EmptyQ
 6468bool                 tfunc_EmptyQ() __attribute__((nothrow, pure));
 6469// Look up row by row id. Return NULL if out of range
 6470// func:amc.FDb.tfunc.Find
 6471amc::FTfunc*         tfunc_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6472// Return pointer to last element of array, or NULL if array is empty
 6473// func:amc.FDb.tfunc.Last
 6474amc::FTfunc*         tfunc_Last() __attribute__((nothrow, pure));
 6475// Return number of items in the pool
 6476// func:amc.FDb.tfunc.N
 6477i32                  tfunc_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6478// Remove all elements from Lary
 6479// func:amc.FDb.tfunc.RemoveAll
 6480void                 tfunc_RemoveAll() __attribute__((nothrow));
 6481// Delete last element of array. Do nothing if array is empty.
 6482// func:amc.FDb.tfunc.RemoveLast
 6483void                 tfunc_RemoveLast() __attribute__((nothrow));
 6484// 'quick' Access row by row id. No bounds checking.
 6485// func:amc.FDb.tfunc.qFind
 6486amc::FTfunc&         tfunc_qFind(u64 t) __attribute__((nothrow, pure));
 6487// Insert row into all appropriate indices. If error occurs, store error
 6488// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6489// func:amc.FDb.tfunc.XrefMaybe
 6490bool                 tfunc_XrefMaybe(amc::FTfunc &row);
 6491
 6492// Return true if hash is empty
 6493// func:amc.FDb.ind_tfunc.EmptyQ
 6494bool                 ind_tfunc_EmptyQ() __attribute__((nothrow));
 6495// Find row by key. Return NULL if not found.
 6496// func:amc.FDb.ind_tfunc.Find
 6497amc::FTfunc*         ind_tfunc_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 6498// Find row by key. If not found, create and x-reference a new row with with this key.
 6499// func:amc.FDb.ind_tfunc.GetOrCreate
 6500amc::FTfunc&         ind_tfunc_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 6501// Return number of items in the hash
 6502// func:amc.FDb.ind_tfunc.N
 6503i32                  ind_tfunc_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6504// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 6505// func:amc.FDb.ind_tfunc.InsertMaybe
 6506bool                 ind_tfunc_InsertMaybe(amc::FTfunc& row) __attribute__((nothrow));
 6507// Remove reference to element from hash index. If element is not in hash, do nothing
 6508// func:amc.FDb.ind_tfunc.Remove
 6509void                 ind_tfunc_Remove(amc::FTfunc& row) __attribute__((nothrow));
 6510// Reserve enough room in the hash for N more elements. Return success code.
 6511// func:amc.FDb.ind_tfunc.Reserve
 6512void                 ind_tfunc_Reserve(int n) __attribute__((nothrow));
 6513
 6514// Allocate memory for new default row.
 6515// If out of memory, process is killed.
 6516// func:amc.FDb.gen.Alloc
 6517amc::FGen&           gen_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6518// Allocate memory for new element. If out of memory, return NULL.
 6519// func:amc.FDb.gen.AllocMaybe
 6520amc::FGen*           gen_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6521// Create new row from struct.
 6522// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6523// func:amc.FDb.gen.InsertMaybe
 6524amc::FGen*           gen_InsertMaybe(const amcdb::Gen &value) __attribute__((nothrow));
 6525// Allocate space for one element. If no memory available, return NULL.
 6526// func:amc.FDb.gen.AllocMem
 6527void*                gen_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6528// Return true if index is empty
 6529// func:amc.FDb.gen.EmptyQ
 6530bool                 gen_EmptyQ() __attribute__((nothrow, pure));
 6531// Look up row by row id. Return NULL if out of range
 6532// func:amc.FDb.gen.Find
 6533amc::FGen*           gen_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6534// Return pointer to last element of array, or NULL if array is empty
 6535// func:amc.FDb.gen.Last
 6536amc::FGen*           gen_Last() __attribute__((nothrow, pure));
 6537// Return number of items in the pool
 6538// func:amc.FDb.gen.N
 6539i32                  gen_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6540// Remove all elements from Lary
 6541// func:amc.FDb.gen.RemoveAll
 6542void                 gen_RemoveAll() __attribute__((nothrow));
 6543// Delete last element of array. Do nothing if array is empty.
 6544// func:amc.FDb.gen.RemoveLast
 6545void                 gen_RemoveLast() __attribute__((nothrow));
 6546// 'quick' Access row by row id. No bounds checking.
 6547// func:amc.FDb.gen.qFind
 6548amc::FGen&           gen_qFind(u64 t) __attribute__((nothrow, pure));
 6549// Insert row into all appropriate indices. If error occurs, store error
 6550// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6551// func:amc.FDb.gen.XrefMaybe
 6552bool                 gen_XrefMaybe(amc::FGen &row);
 6553
 6554// Allocate memory for new default row.
 6555// If out of memory, process is killed.
 6556// func:amc.FDb.fregx.Alloc
 6557amc::FFregx&         fregx_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6558// Allocate memory for new element. If out of memory, return NULL.
 6559// func:amc.FDb.fregx.AllocMaybe
 6560amc::FFregx*         fregx_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6561// Create new row from struct.
 6562// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6563// func:amc.FDb.fregx.InsertMaybe
 6564amc::FFregx*         fregx_InsertMaybe(const dmmeta::Fregx &value) __attribute__((nothrow));
 6565// Allocate space for one element. If no memory available, return NULL.
 6566// func:amc.FDb.fregx.AllocMem
 6567void*                fregx_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6568// Return true if index is empty
 6569// func:amc.FDb.fregx.EmptyQ
 6570bool                 fregx_EmptyQ() __attribute__((nothrow, pure));
 6571// Look up row by row id. Return NULL if out of range
 6572// func:amc.FDb.fregx.Find
 6573amc::FFregx*         fregx_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6574// Return pointer to last element of array, or NULL if array is empty
 6575// func:amc.FDb.fregx.Last
 6576amc::FFregx*         fregx_Last() __attribute__((nothrow, pure));
 6577// Return number of items in the pool
 6578// func:amc.FDb.fregx.N
 6579i32                  fregx_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6580// Delete last element of array. Do nothing if array is empty.
 6581// func:amc.FDb.fregx.RemoveLast
 6582void                 fregx_RemoveLast() __attribute__((nothrow));
 6583// 'quick' Access row by row id. No bounds checking.
 6584// func:amc.FDb.fregx.qFind
 6585amc::FFregx&         fregx_qFind(u64 t) __attribute__((nothrow, pure));
 6586// Insert row into all appropriate indices. If error occurs, store error
 6587// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6588// func:amc.FDb.fregx.XrefMaybe
 6589bool                 fregx_XrefMaybe(amc::FFregx &row);
 6590
 6591// Allocate memory for new default row.
 6592// If out of memory, process is killed.
 6593// func:amc.FDb.tclass.Alloc
 6594amc::FTclass&        tclass_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6595// Allocate memory for new element. If out of memory, return NULL.
 6596// func:amc.FDb.tclass.AllocMaybe
 6597amc::FTclass*        tclass_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6598// Create new row from struct.
 6599// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6600// func:amc.FDb.tclass.InsertMaybe
 6601amc::FTclass*        tclass_InsertMaybe(const amcdb::Tclass &value) __attribute__((nothrow));
 6602// Allocate space for one element. If no memory available, return NULL.
 6603// func:amc.FDb.tclass.AllocMem
 6604void*                tclass_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6605// Return true if index is empty
 6606// func:amc.FDb.tclass.EmptyQ
 6607bool                 tclass_EmptyQ() __attribute__((nothrow));
 6608// Look up row by row id. Return NULL if out of range
 6609// func:amc.FDb.tclass.Find
 6610amc::FTclass*        tclass_Find(u64 t) __attribute__((__warn_unused_result__, nothrow));
 6611// Return array pointer by value
 6612// func:amc.FDb.tclass.Getary
 6613algo::aryptr<amc::FTclass> tclass_Getary() __attribute__((nothrow));
 6614// Return constant 51 -- max. number of items in the pool
 6615// func:amc.FDb.tclass.Max
 6616i32                  tclass_Max() __attribute__((nothrow));
 6617// Return number of items in the array
 6618// func:amc.FDb.tclass.N
 6619i32                  tclass_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6620// Destroy all elements of Inlary
 6621// func:amc.FDb.tclass.RemoveAll
 6622void                 tclass_RemoveAll() __attribute__((nothrow));
 6623// Delete last element of array. Do nothing if array is empty.
 6624// func:amc.FDb.tclass.RemoveLast
 6625void                 tclass_RemoveLast() __attribute__((nothrow));
 6626// 'quick' Access row by row id. No bounds checking in release.
 6627// func:amc.FDb.tclass.qFind
 6628amc::FTclass&        tclass_qFind(u64 t) __attribute__((nothrow));
 6629// Compute row id of element given element's address
 6630// func:amc.FDb.tclass.rowid_Get
 6631u64                  tclass_rowid_Get(amc::FTclass &row) __attribute__((nothrow));
 6632// Insert row into all appropriate indices. If error occurs, store error
 6633// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6634// func:amc.FDb.tclass.XrefMaybe
 6635bool                 tclass_XrefMaybe(amc::FTclass &row);
 6636
 6637// Return true if hash is empty
 6638// func:amc.FDb.ind_tclass.EmptyQ
 6639bool                 ind_tclass_EmptyQ() __attribute__((nothrow));
 6640// Find row by key. Return NULL if not found.
 6641// func:amc.FDb.ind_tclass.Find
 6642amc::FTclass*        ind_tclass_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 6643// Find row by key. If not found, create and x-reference a new row with with this key.
 6644// func:amc.FDb.ind_tclass.GetOrCreate
 6645amc::FTclass&        ind_tclass_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 6646// Return number of items in the hash
 6647// func:amc.FDb.ind_tclass.N
 6648i32                  ind_tclass_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6649// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 6650// func:amc.FDb.ind_tclass.InsertMaybe
 6651bool                 ind_tclass_InsertMaybe(amc::FTclass& row) __attribute__((nothrow));
 6652// Remove reference to element from hash index. If element is not in hash, do nothing
 6653// func:amc.FDb.ind_tclass.Remove
 6654void                 ind_tclass_Remove(amc::FTclass& row) __attribute__((nothrow));
 6655// Reserve enough room in the hash for N more elements. Return success code.
 6656// func:amc.FDb.ind_tclass.Reserve
 6657void                 ind_tclass_Reserve(int n) __attribute__((nothrow));
 6658
 6659// Allocate memory for new default row.
 6660// If out of memory, process is killed.
 6661// func:amc.FDb.fcmp.Alloc
 6662amc::FFcmp&          fcmp_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6663// Allocate memory for new element. If out of memory, return NULL.
 6664// func:amc.FDb.fcmp.AllocMaybe
 6665amc::FFcmp*          fcmp_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6666// Create new row from struct.
 6667// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6668// func:amc.FDb.fcmp.InsertMaybe
 6669amc::FFcmp*          fcmp_InsertMaybe(const dmmeta::Fcmp &value) __attribute__((nothrow));
 6670// Allocate space for one element. If no memory available, return NULL.
 6671// func:amc.FDb.fcmp.AllocMem
 6672void*                fcmp_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6673// Return true if index is empty
 6674// func:amc.FDb.fcmp.EmptyQ
 6675bool                 fcmp_EmptyQ() __attribute__((nothrow, pure));
 6676// Look up row by row id. Return NULL if out of range
 6677// func:amc.FDb.fcmp.Find
 6678amc::FFcmp*          fcmp_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6679// Return pointer to last element of array, or NULL if array is empty
 6680// func:amc.FDb.fcmp.Last
 6681amc::FFcmp*          fcmp_Last() __attribute__((nothrow, pure));
 6682// Return number of items in the pool
 6683// func:amc.FDb.fcmp.N
 6684i32                  fcmp_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6685// Delete last element of array. Do nothing if array is empty.
 6686// func:amc.FDb.fcmp.RemoveLast
 6687void                 fcmp_RemoveLast() __attribute__((nothrow));
 6688// 'quick' Access row by row id. No bounds checking.
 6689// func:amc.FDb.fcmp.qFind
 6690amc::FFcmp&          fcmp_qFind(u64 t) __attribute__((nothrow, pure));
 6691// Insert row into all appropriate indices. If error occurs, store error
 6692// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6693// func:amc.FDb.fcmp.XrefMaybe
 6694bool                 fcmp_XrefMaybe(amc::FFcmp &row);
 6695
 6696// Allocate memory for new default row.
 6697// If out of memory, process is killed.
 6698// func:amc.FDb.fcast.Alloc
 6699amc::FFcast&         fcast_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6700// Allocate memory for new element. If out of memory, return NULL.
 6701// func:amc.FDb.fcast.AllocMaybe
 6702amc::FFcast*         fcast_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6703// Create new row from struct.
 6704// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6705// func:amc.FDb.fcast.InsertMaybe
 6706amc::FFcast*         fcast_InsertMaybe(const dmmeta::Fcast &value) __attribute__((nothrow));
 6707// Allocate space for one element. If no memory available, return NULL.
 6708// func:amc.FDb.fcast.AllocMem
 6709void*                fcast_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6710// Return true if index is empty
 6711// func:amc.FDb.fcast.EmptyQ
 6712bool                 fcast_EmptyQ() __attribute__((nothrow, pure));
 6713// Look up row by row id. Return NULL if out of range
 6714// func:amc.FDb.fcast.Find
 6715amc::FFcast*         fcast_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6716// Return pointer to last element of array, or NULL if array is empty
 6717// func:amc.FDb.fcast.Last
 6718amc::FFcast*         fcast_Last() __attribute__((nothrow, pure));
 6719// Return number of items in the pool
 6720// func:amc.FDb.fcast.N
 6721i32                  fcast_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6722// Delete last element of array. Do nothing if array is empty.
 6723// func:amc.FDb.fcast.RemoveLast
 6724void                 fcast_RemoveLast() __attribute__((nothrow));
 6725// 'quick' Access row by row id. No bounds checking.
 6726// func:amc.FDb.fcast.qFind
 6727amc::FFcast&         fcast_qFind(u64 t) __attribute__((nothrow, pure));
 6728// Insert row into all appropriate indices. If error occurs, store error
 6729// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6730// func:amc.FDb.fcast.XrefMaybe
 6731bool                 fcast_XrefMaybe(amc::FFcast &row);
 6732
 6733// Allocate memory for new default row.
 6734// If out of memory, process is killed.
 6735// func:amc.FDb.noxref.Alloc
 6736amc::FNoxref&        noxref_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6737// Allocate memory for new element. If out of memory, return NULL.
 6738// func:amc.FDb.noxref.AllocMaybe
 6739amc::FNoxref*        noxref_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6740// Create new row from struct.
 6741// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6742// func:amc.FDb.noxref.InsertMaybe
 6743amc::FNoxref*        noxref_InsertMaybe(const dmmeta::Noxref &value) __attribute__((nothrow));
 6744// Allocate space for one element. If no memory available, return NULL.
 6745// func:amc.FDb.noxref.AllocMem
 6746void*                noxref_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6747// Return true if index is empty
 6748// func:amc.FDb.noxref.EmptyQ
 6749bool                 noxref_EmptyQ() __attribute__((nothrow, pure));
 6750// Look up row by row id. Return NULL if out of range
 6751// func:amc.FDb.noxref.Find
 6752amc::FNoxref*        noxref_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6753// Return pointer to last element of array, or NULL if array is empty
 6754// func:amc.FDb.noxref.Last
 6755amc::FNoxref*        noxref_Last() __attribute__((nothrow, pure));
 6756// Return number of items in the pool
 6757// func:amc.FDb.noxref.N
 6758i32                  noxref_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6759// Delete last element of array. Do nothing if array is empty.
 6760// func:amc.FDb.noxref.RemoveLast
 6761void                 noxref_RemoveLast() __attribute__((nothrow));
 6762// 'quick' Access row by row id. No bounds checking.
 6763// func:amc.FDb.noxref.qFind
 6764amc::FNoxref&        noxref_qFind(u64 t) __attribute__((nothrow, pure));
 6765// Insert row into all appropriate indices. If error occurs, store error
 6766// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6767// func:amc.FDb.noxref.XrefMaybe
 6768bool                 noxref_XrefMaybe(amc::FNoxref &row);
 6769
 6770// Allocate memory for new default row.
 6771// If out of memory, process is killed.
 6772// func:amc.FDb.nocascdel.Alloc
 6773amc::FNocascdel&     nocascdel_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6774// Allocate memory for new element. If out of memory, return NULL.
 6775// func:amc.FDb.nocascdel.AllocMaybe
 6776amc::FNocascdel*     nocascdel_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6777// Create new row from struct.
 6778// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6779// func:amc.FDb.nocascdel.InsertMaybe
 6780amc::FNocascdel*     nocascdel_InsertMaybe(const dmmeta::Nocascdel &value) __attribute__((nothrow));
 6781// Allocate space for one element. If no memory available, return NULL.
 6782// func:amc.FDb.nocascdel.AllocMem
 6783void*                nocascdel_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6784// Return true if index is empty
 6785// func:amc.FDb.nocascdel.EmptyQ
 6786bool                 nocascdel_EmptyQ() __attribute__((nothrow, pure));
 6787// Look up row by row id. Return NULL if out of range
 6788// func:amc.FDb.nocascdel.Find
 6789amc::FNocascdel*     nocascdel_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6790// Return pointer to last element of array, or NULL if array is empty
 6791// func:amc.FDb.nocascdel.Last
 6792amc::FNocascdel*     nocascdel_Last() __attribute__((nothrow, pure));
 6793// Return number of items in the pool
 6794// func:amc.FDb.nocascdel.N
 6795i32                  nocascdel_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6796// Delete last element of array. Do nothing if array is empty.
 6797// func:amc.FDb.nocascdel.RemoveLast
 6798void                 nocascdel_RemoveLast() __attribute__((nothrow));
 6799// 'quick' Access row by row id. No bounds checking.
 6800// func:amc.FDb.nocascdel.qFind
 6801amc::FNocascdel&     nocascdel_qFind(u64 t) __attribute__((nothrow, pure));
 6802// Insert row into all appropriate indices. If error occurs, store error
 6803// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6804// func:amc.FDb.nocascdel.XrefMaybe
 6805bool                 nocascdel_XrefMaybe(amc::FNocascdel &row);
 6806
 6807// Allocate memory for new default row.
 6808// If out of memory, process is killed.
 6809// func:amc.FDb.cafter.Alloc
 6810amc::FCafter&        cafter_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6811// Allocate memory for new element. If out of memory, return NULL.
 6812// func:amc.FDb.cafter.AllocMaybe
 6813amc::FCafter*        cafter_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6814// Create new row from struct.
 6815// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6816// func:amc.FDb.cafter.InsertMaybe
 6817amc::FCafter*        cafter_InsertMaybe(const dmmeta::Cafter &value) __attribute__((nothrow));
 6818// Allocate space for one element. If no memory available, return NULL.
 6819// func:amc.FDb.cafter.AllocMem
 6820void*                cafter_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6821// Return true if index is empty
 6822// func:amc.FDb.cafter.EmptyQ
 6823bool                 cafter_EmptyQ() __attribute__((nothrow, pure));
 6824// Look up row by row id. Return NULL if out of range
 6825// func:amc.FDb.cafter.Find
 6826amc::FCafter*        cafter_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6827// Return pointer to last element of array, or NULL if array is empty
 6828// func:amc.FDb.cafter.Last
 6829amc::FCafter*        cafter_Last() __attribute__((nothrow, pure));
 6830// Return number of items in the pool
 6831// func:amc.FDb.cafter.N
 6832i32                  cafter_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6833// Delete last element of array. Do nothing if array is empty.
 6834// func:amc.FDb.cafter.RemoveLast
 6835void                 cafter_RemoveLast() __attribute__((nothrow));
 6836// 'quick' Access row by row id. No bounds checking.
 6837// func:amc.FDb.cafter.qFind
 6838amc::FCafter&        cafter_qFind(u64 t) __attribute__((nothrow, pure));
 6839// Insert row into all appropriate indices. If error occurs, store error
 6840// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6841// func:amc.FDb.cafter.XrefMaybe
 6842bool                 cafter_XrefMaybe(amc::FCafter &row);
 6843
 6844// Allocate memory for new default row.
 6845// If out of memory, process is killed.
 6846// func:amc.FDb.csize.Alloc
 6847amc::FCsize&         csize_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6848// Allocate memory for new element. If out of memory, return NULL.
 6849// func:amc.FDb.csize.AllocMaybe
 6850amc::FCsize*         csize_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6851// Create new row from struct.
 6852// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6853// func:amc.FDb.csize.InsertMaybe
 6854amc::FCsize*         csize_InsertMaybe(const dmmeta::Csize &value) __attribute__((nothrow));
 6855// Allocate space for one element. If no memory available, return NULL.
 6856// func:amc.FDb.csize.AllocMem
 6857void*                csize_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6858// Return true if index is empty
 6859// func:amc.FDb.csize.EmptyQ
 6860bool                 csize_EmptyQ() __attribute__((nothrow, pure));
 6861// Look up row by row id. Return NULL if out of range
 6862// func:amc.FDb.csize.Find
 6863amc::FCsize*         csize_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6864// Return pointer to last element of array, or NULL if array is empty
 6865// func:amc.FDb.csize.Last
 6866amc::FCsize*         csize_Last() __attribute__((nothrow, pure));
 6867// Return number of items in the pool
 6868// func:amc.FDb.csize.N
 6869i32                  csize_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6870// Delete last element of array. Do nothing if array is empty.
 6871// func:amc.FDb.csize.RemoveLast
 6872void                 csize_RemoveLast() __attribute__((nothrow));
 6873// 'quick' Access row by row id. No bounds checking.
 6874// func:amc.FDb.csize.qFind
 6875amc::FCsize&         csize_qFind(u64 t) __attribute__((nothrow, pure));
 6876// Insert row into all appropriate indices. If error occurs, store error
 6877// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6878// func:amc.FDb.csize.XrefMaybe
 6879bool                 csize_XrefMaybe(amc::FCsize &row);
 6880
 6881// Allocate memory for new default row.
 6882// If out of memory, process is killed.
 6883// func:amc.FDb.nsx.Alloc
 6884amc::FNsx&           nsx_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6885// Allocate memory for new element. If out of memory, return NULL.
 6886// func:amc.FDb.nsx.AllocMaybe
 6887amc::FNsx*           nsx_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6888// Create new row from struct.
 6889// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6890// func:amc.FDb.nsx.InsertMaybe
 6891amc::FNsx*           nsx_InsertMaybe(const dmmeta::Nsx &value) __attribute__((nothrow));
 6892// Allocate space for one element. If no memory available, return NULL.
 6893// func:amc.FDb.nsx.AllocMem
 6894void*                nsx_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6895// Return true if index is empty
 6896// func:amc.FDb.nsx.EmptyQ
 6897bool                 nsx_EmptyQ() __attribute__((nothrow, pure));
 6898// Look up row by row id. Return NULL if out of range
 6899// func:amc.FDb.nsx.Find
 6900amc::FNsx*           nsx_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6901// Return pointer to last element of array, or NULL if array is empty
 6902// func:amc.FDb.nsx.Last
 6903amc::FNsx*           nsx_Last() __attribute__((nothrow, pure));
 6904// Return number of items in the pool
 6905// func:amc.FDb.nsx.N
 6906i32                  nsx_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6907// Delete last element of array. Do nothing if array is empty.
 6908// func:amc.FDb.nsx.RemoveLast
 6909void                 nsx_RemoveLast() __attribute__((nothrow));
 6910// 'quick' Access row by row id. No bounds checking.
 6911// func:amc.FDb.nsx.qFind
 6912amc::FNsx&           nsx_qFind(u64 t) __attribute__((nothrow, pure));
 6913// Insert row into all appropriate indices. If error occurs, store error
 6914// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6915// func:amc.FDb.nsx.XrefMaybe
 6916bool                 nsx_XrefMaybe(amc::FNsx &row);
 6917
 6918// Allocate memory for new default row.
 6919// If out of memory, process is killed.
 6920// func:amc.FDb.fcompact.Alloc
 6921amc::FFcompact&      fcompact_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6922// Allocate memory for new element. If out of memory, return NULL.
 6923// func:amc.FDb.fcompact.AllocMaybe
 6924amc::FFcompact*      fcompact_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6925// Create new row from struct.
 6926// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6927// func:amc.FDb.fcompact.InsertMaybe
 6928amc::FFcompact*      fcompact_InsertMaybe(const dmmeta::Fcompact &value) __attribute__((nothrow));
 6929// Allocate space for one element. If no memory available, return NULL.
 6930// func:amc.FDb.fcompact.AllocMem
 6931void*                fcompact_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6932// Return true if index is empty
 6933// func:amc.FDb.fcompact.EmptyQ
 6934bool                 fcompact_EmptyQ() __attribute__((nothrow, pure));
 6935// Look up row by row id. Return NULL if out of range
 6936// func:amc.FDb.fcompact.Find
 6937amc::FFcompact*      fcompact_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6938// Return pointer to last element of array, or NULL if array is empty
 6939// func:amc.FDb.fcompact.Last
 6940amc::FFcompact*      fcompact_Last() __attribute__((nothrow, pure));
 6941// Return number of items in the pool
 6942// func:amc.FDb.fcompact.N
 6943i32                  fcompact_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6944// Delete last element of array. Do nothing if array is empty.
 6945// func:amc.FDb.fcompact.RemoveLast
 6946void                 fcompact_RemoveLast() __attribute__((nothrow));
 6947// 'quick' Access row by row id. No bounds checking.
 6948// func:amc.FDb.fcompact.qFind
 6949amc::FFcompact&      fcompact_qFind(u64 t) __attribute__((nothrow, pure));
 6950// Insert row into all appropriate indices. If error occurs, store error
 6951// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6952// func:amc.FDb.fcompact.XrefMaybe
 6953bool                 fcompact_XrefMaybe(amc::FFcompact &row);
 6954
 6955// Allocate memory for new default row.
 6956// If out of memory, process is killed.
 6957// func:amc.FDb.findrem.Alloc
 6958amc::FFindrem&       findrem_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6959// Allocate memory for new element. If out of memory, return NULL.
 6960// func:amc.FDb.findrem.AllocMaybe
 6961amc::FFindrem*       findrem_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6962// Create new row from struct.
 6963// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 6964// func:amc.FDb.findrem.InsertMaybe
 6965amc::FFindrem*       findrem_InsertMaybe(const dmmeta::Findrem &value) __attribute__((nothrow));
 6966// Allocate space for one element. If no memory available, return NULL.
 6967// func:amc.FDb.findrem.AllocMem
 6968void*                findrem_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 6969// Return true if index is empty
 6970// func:amc.FDb.findrem.EmptyQ
 6971bool                 findrem_EmptyQ() __attribute__((nothrow, pure));
 6972// Look up row by row id. Return NULL if out of range
 6973// func:amc.FDb.findrem.Find
 6974amc::FFindrem*       findrem_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 6975// Return pointer to last element of array, or NULL if array is empty
 6976// func:amc.FDb.findrem.Last
 6977amc::FFindrem*       findrem_Last() __attribute__((nothrow, pure));
 6978// Return number of items in the pool
 6979// func:amc.FDb.findrem.N
 6980i32                  findrem_N() __attribute__((__warn_unused_result__, nothrow, pure));
 6981// Delete last element of array. Do nothing if array is empty.
 6982// func:amc.FDb.findrem.RemoveLast
 6983void                 findrem_RemoveLast() __attribute__((nothrow));
 6984// 'quick' Access row by row id. No bounds checking.
 6985// func:amc.FDb.findrem.qFind
 6986amc::FFindrem&       findrem_qFind(u64 t) __attribute__((nothrow, pure));
 6987// Insert row into all appropriate indices. If error occurs, store error
 6988// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 6989// func:amc.FDb.findrem.XrefMaybe
 6990bool                 findrem_XrefMaybe(amc::FFindrem &row);
 6991
 6992// Allocate memory for new default row.
 6993// If out of memory, process is killed.
 6994// func:amc.FDb.fcurs.Alloc
 6995amc::FFcurs&         fcurs_Alloc() __attribute__((__warn_unused_result__, nothrow));
 6996// Allocate memory for new element. If out of memory, return NULL.
 6997// func:amc.FDb.fcurs.AllocMaybe
 6998amc::FFcurs*         fcurs_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 6999// Create new row from struct.
 7000// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 7001// func:amc.FDb.fcurs.InsertMaybe
 7002amc::FFcurs*         fcurs_InsertMaybe(const dmmeta::Fcurs &value) __attribute__((nothrow));
 7003// Allocate space for one element. If no memory available, return NULL.
 7004// func:amc.FDb.fcurs.AllocMem
 7005void*                fcurs_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 7006// Return true if index is empty
 7007// func:amc.FDb.fcurs.EmptyQ
 7008bool                 fcurs_EmptyQ() __attribute__((nothrow, pure));
 7009// Look up row by row id. Return NULL if out of range
 7010// func:amc.FDb.fcurs.Find
 7011amc::FFcurs*         fcurs_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 7012// Return pointer to last element of array, or NULL if array is empty
 7013// func:amc.FDb.fcurs.Last
 7014amc::FFcurs*         fcurs_Last() __attribute__((nothrow, pure));
 7015// Return number of items in the pool
 7016// func:amc.FDb.fcurs.N
 7017i32                  fcurs_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7018// Delete last element of array. Do nothing if array is empty.
 7019// func:amc.FDb.fcurs.RemoveLast
 7020void                 fcurs_RemoveLast() __attribute__((nothrow));
 7021// 'quick' Access row by row id. No bounds checking.
 7022// func:amc.FDb.fcurs.qFind
 7023amc::FFcurs&         fcurs_qFind(u64 t) __attribute__((nothrow, pure));
 7024// Insert row into all appropriate indices. If error occurs, store error
 7025// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 7026// func:amc.FDb.fcurs.XrefMaybe
 7027bool                 fcurs_XrefMaybe(amc::FFcurs &row);
 7028
 7029// Allocate memory for new default row.
 7030// If out of memory, process is killed.
 7031// func:amc.FDb.cdflt.Alloc
 7032amc::FCdflt&         cdflt_Alloc() __attribute__((__warn_unused_result__, nothrow));
 7033// Allocate memory for new element. If out of memory, return NULL.
 7034// func:amc.FDb.cdflt.AllocMaybe
 7035amc::FCdflt*         cdflt_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 7036// Create new row from struct.
 7037// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 7038// func:amc.FDb.cdflt.InsertMaybe
 7039amc::FCdflt*         cdflt_InsertMaybe(const dmmeta::Cdflt &value) __attribute__((nothrow));
 7040// Allocate space for one element. If no memory available, return NULL.
 7041// func:amc.FDb.cdflt.AllocMem
 7042void*                cdflt_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 7043// Return true if index is empty
 7044// func:amc.FDb.cdflt.EmptyQ
 7045bool                 cdflt_EmptyQ() __attribute__((nothrow, pure));
 7046// Look up row by row id. Return NULL if out of range
 7047// func:amc.FDb.cdflt.Find
 7048amc::FCdflt*         cdflt_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 7049// Return pointer to last element of array, or NULL if array is empty
 7050// func:amc.FDb.cdflt.Last
 7051amc::FCdflt*         cdflt_Last() __attribute__((nothrow, pure));
 7052// Return number of items in the pool
 7053// func:amc.FDb.cdflt.N
 7054i32                  cdflt_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7055// Delete last element of array. Do nothing if array is empty.
 7056// func:amc.FDb.cdflt.RemoveLast
 7057void                 cdflt_RemoveLast() __attribute__((nothrow));
 7058// 'quick' Access row by row id. No bounds checking.
 7059// func:amc.FDb.cdflt.qFind
 7060amc::FCdflt&         cdflt_qFind(u64 t) __attribute__((nothrow, pure));
 7061// Insert row into all appropriate indices. If error occurs, store error
 7062// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 7063// func:amc.FDb.cdflt.XrefMaybe
 7064bool                 cdflt_XrefMaybe(amc::FCdflt &row);
 7065
 7066// Allocate memory for new default row.
 7067// If out of memory, process is killed.
 7068// func:amc.FDb.argvtype.Alloc
 7069amc::FArgvtype&      argvtype_Alloc() __attribute__((__warn_unused_result__, nothrow));
 7070// Allocate memory for new element. If out of memory, return NULL.
 7071// func:amc.FDb.argvtype.AllocMaybe
 7072amc::FArgvtype*      argvtype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 7073// Create new row from struct.
 7074// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 7075// func:amc.FDb.argvtype.InsertMaybe
 7076amc::FArgvtype*      argvtype_InsertMaybe(const dmmeta::Argvtype &value) __attribute__((nothrow));
 7077// Allocate space for one element. If no memory available, return NULL.
 7078// func:amc.FDb.argvtype.AllocMem
 7079void*                argvtype_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 7080// Return true if index is empty
 7081// func:amc.FDb.argvtype.EmptyQ
 7082bool                 argvtype_EmptyQ() __attribute__((nothrow, pure));
 7083// Look up row by row id. Return NULL if out of range
 7084// func:amc.FDb.argvtype.Find
 7085amc::FArgvtype*      argvtype_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 7086// Return pointer to last element of array, or NULL if array is empty
 7087// func:amc.FDb.argvtype.Last
 7088amc::FArgvtype*      argvtype_Last() __attribute__((nothrow, pure));
 7089// Return number of items in the pool
 7090// func:amc.FDb.argvtype.N
 7091i32                  argvtype_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7092// Delete last element of array. Do nothing if array is empty.
 7093// func:amc.FDb.argvtype.RemoveLast
 7094void                 argvtype_RemoveLast() __attribute__((nothrow));
 7095// 'quick' Access row by row id. No bounds checking.
 7096// func:amc.FDb.argvtype.qFind
 7097amc::FArgvtype&      argvtype_qFind(u64 t) __attribute__((nothrow, pure));
 7098// Insert row into all appropriate indices. If error occurs, store error
 7099// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 7100// func:amc.FDb.argvtype.XrefMaybe
 7101bool                 argvtype_XrefMaybe(amc::FArgvtype &row);
 7102
 7103// Allocate memory for new default row.
 7104// If out of memory, process is killed.
 7105// func:amc.FDb.fcmdline.Alloc
 7106amc::FFcmdline&      fcmdline_Alloc() __attribute__((__warn_unused_result__, nothrow));
 7107// Allocate memory for new element. If out of memory, return NULL.
 7108// func:amc.FDb.fcmdline.AllocMaybe
 7109amc::FFcmdline*      fcmdline_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 7110// Create new row from struct.
 7111// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 7112// func:amc.FDb.fcmdline.InsertMaybe
 7113amc::FFcmdline*      fcmdline_InsertMaybe(const dmmeta::Fcmdline &value) __attribute__((nothrow));
 7114// Allocate space for one element. If no memory available, return NULL.
 7115// func:amc.FDb.fcmdline.AllocMem
 7116void*                fcmdline_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 7117// Return true if index is empty
 7118// func:amc.FDb.fcmdline.EmptyQ
 7119bool                 fcmdline_EmptyQ() __attribute__((nothrow, pure));
 7120// Look up row by row id. Return NULL if out of range
 7121// func:amc.FDb.fcmdline.Find
 7122amc::FFcmdline*      fcmdline_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 7123// Return pointer to last element of array, or NULL if array is empty
 7124// func:amc.FDb.fcmdline.Last
 7125amc::FFcmdline*      fcmdline_Last() __attribute__((nothrow, pure));
 7126// Return number of items in the pool
 7127// func:amc.FDb.fcmdline.N
 7128i32                  fcmdline_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7129// Delete last element of array. Do nothing if array is empty.
 7130// func:amc.FDb.fcmdline.RemoveLast
 7131void                 fcmdline_RemoveLast() __attribute__((nothrow));
 7132// 'quick' Access row by row id. No bounds checking.
 7133// func:amc.FDb.fcmdline.qFind
 7134amc::FFcmdline&      fcmdline_qFind(u64 t) __attribute__((nothrow, pure));
 7135// Insert row into all appropriate indices. If error occurs, store error
 7136// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 7137// func:amc.FDb.fcmdline.XrefMaybe
 7138bool                 fcmdline_XrefMaybe(amc::FFcmdline &row);
 7139
 7140// Return true if hash is empty
 7141// func:amc.FDb.ind_main.EmptyQ
 7142bool                 ind_main_EmptyQ() __attribute__((nothrow));
 7143// Find row by key. Return NULL if not found.
 7144// func:amc.FDb.ind_main.Find
 7145amc::FMain*          ind_main_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 7146// Find row by key. If not found, create and x-reference a new row with with this key.
 7147// func:amc.FDb.ind_main.GetOrCreate
 7148amc::FMain&          ind_main_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 7149// Return number of items in the hash
 7150// func:amc.FDb.ind_main.N
 7151i32                  ind_main_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7152// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 7153// func:amc.FDb.ind_main.InsertMaybe
 7154bool                 ind_main_InsertMaybe(amc::FMain& row) __attribute__((nothrow));
 7155// Remove reference to element from hash index. If element is not in hash, do nothing
 7156// func:amc.FDb.ind_main.Remove
 7157void                 ind_main_Remove(amc::FMain& row) __attribute__((nothrow));
 7158// Reserve enough room in the hash for N more elements. Return success code.
 7159// func:amc.FDb.ind_main.Reserve
 7160void                 ind_main_Reserve(int n) __attribute__((nothrow));
 7161
 7162// Allocate memory for new default row.
 7163// If out of memory, process is killed.
 7164// func:amc.FDb.floadtuples.Alloc
 7165amc::FFloadtuples&   floadtuples_Alloc() __attribute__((__warn_unused_result__, nothrow));
 7166// Allocate memory for new element. If out of memory, return NULL.
 7167// func:amc.FDb.floadtuples.AllocMaybe
 7168amc::FFloadtuples*   floadtuples_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 7169// Create new row from struct.
 7170// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 7171// func:amc.FDb.floadtuples.InsertMaybe
 7172amc::FFloadtuples*   floadtuples_InsertMaybe(const dmmeta::Floadtuples &value) __attribute__((nothrow));
 7173// Allocate space for one element. If no memory available, return NULL.
 7174// func:amc.FDb.floadtuples.AllocMem
 7175void*                floadtuples_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 7176// Return true if index is empty
 7177// func:amc.FDb.floadtuples.EmptyQ
 7178bool                 floadtuples_EmptyQ() __attribute__((nothrow, pure));
 7179// Look up row by row id. Return NULL if out of range
 7180// func:amc.FDb.floadtuples.Find
 7181amc::FFloadtuples*   floadtuples_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 7182// Return pointer to last element of array, or NULL if array is empty
 7183// func:amc.FDb.floadtuples.Last
 7184amc::FFloadtuples*   floadtuples_Last() __attribute__((nothrow, pure));
 7185// Return number of items in the pool
 7186// func:amc.FDb.floadtuples.N
 7187i32                  floadtuples_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7188// Delete last element of array. Do nothing if array is empty.
 7189// func:amc.FDb.floadtuples.RemoveLast
 7190void                 floadtuples_RemoveLast() __attribute__((nothrow));
 7191// 'quick' Access row by row id. No bounds checking.
 7192// func:amc.FDb.floadtuples.qFind
 7193amc::FFloadtuples&   floadtuples_qFind(u64 t) __attribute__((nothrow, pure));
 7194// Insert row into all appropriate indices. If error occurs, store error
 7195// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 7196// func:amc.FDb.floadtuples.XrefMaybe
 7197bool                 floadtuples_XrefMaybe(amc::FFloadtuples &row);
 7198
 7199// Allocate memory for new default row.
 7200// If out of memory, process is killed.
 7201// func:amc.FDb.fcmap.Alloc
 7202amc::FFcmap&         fcmap_Alloc() __attribute__((__warn_unused_result__, nothrow));
 7203// Allocate memory for new element. If out of memory, return NULL.
 7204// func:amc.FDb.fcmap.AllocMaybe
 7205amc::FFcmap*         fcmap_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 7206// Create new row from struct.
 7207// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 7208// func:amc.FDb.fcmap.InsertMaybe
 7209amc::FFcmap*         fcmap_InsertMaybe(const dmmeta::Fcmap &value) __attribute__((nothrow));
 7210// Allocate space for one element. If no memory available, return NULL.
 7211// func:amc.FDb.fcmap.AllocMem
 7212void*                fcmap_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 7213// Return true if index is empty
 7214// func:amc.FDb.fcmap.EmptyQ
 7215bool                 fcmap_EmptyQ() __attribute__((nothrow, pure));
 7216// Look up row by row id. Return NULL if out of range
 7217// func:amc.FDb.fcmap.Find
 7218amc::FFcmap*         fcmap_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 7219// Return pointer to last element of array, or NULL if array is empty
 7220// func:amc.FDb.fcmap.Last
 7221amc::FFcmap*         fcmap_Last() __attribute__((nothrow, pure));
 7222// Return number of items in the pool
 7223// func:amc.FDb.fcmap.N
 7224i32                  fcmap_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7225// Delete last element of array. Do nothing if array is empty.
 7226// func:amc.FDb.fcmap.RemoveLast
 7227void                 fcmap_RemoveLast() __attribute__((nothrow));
 7228// 'quick' Access row by row id. No bounds checking.
 7229// func:amc.FDb.fcmap.qFind
 7230amc::FFcmap&         fcmap_qFind(u64 t) __attribute__((nothrow, pure));
 7231// Insert row into all appropriate indices. If error occurs, store error
 7232// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 7233// func:amc.FDb.fcmap.XrefMaybe
 7234bool                 fcmap_XrefMaybe(amc::FFcmap &row);
 7235
 7236// Return true if index is empty
 7237// func:amc.FDb.zs_ordkeyfield.EmptyQ
 7238bool                 zs_ordkeyfield_EmptyQ() __attribute__((__warn_unused_result__, nothrow, pure));
 7239// If index empty, return NULL. Otherwise return pointer to first element in index
 7240// func:amc.FDb.zs_ordkeyfield.First
 7241amc::FField*         zs_ordkeyfield_First() __attribute__((__warn_unused_result__, nothrow, pure));
 7242// Return true if row is in the linked list, false otherwise
 7243// func:amc.FDb.zs_ordkeyfield.InLlistQ
 7244bool                 zs_ordkeyfield_InLlistQ(amc::FField& row) __attribute__((__warn_unused_result__, nothrow));
 7245// Insert row into linked list. If row is already in linked list, do nothing.
 7246// func:amc.FDb.zs_ordkeyfield.Insert
 7247void                 zs_ordkeyfield_Insert(amc::FField& row) __attribute__((nothrow));
 7248// If index empty, return NULL. Otherwise return pointer to last element in index
 7249// func:amc.FDb.zs_ordkeyfield.Last
 7250amc::FField*         zs_ordkeyfield_Last() __attribute__((__warn_unused_result__, nothrow, pure));
 7251// Return pointer to next element in the list
 7252// func:amc.FDb.zs_ordkeyfield.Next
 7253amc::FField*         zs_ordkeyfield_Next(amc::FField &row) __attribute__((__warn_unused_result__, nothrow));
 7254// Remove element from index. If element is not in index, do nothing.
 7255// Since the list is singly-linked, use linear search to locate the element.
 7256// func:amc.FDb.zs_ordkeyfield.Remove
 7257void                 zs_ordkeyfield_Remove(amc::FField& row) __attribute__((nothrow));
 7258// Empty the index. (The rows are not deleted)
 7259// func:amc.FDb.zs_ordkeyfield.RemoveAll
 7260void                 zs_ordkeyfield_RemoveAll() __attribute__((nothrow));
 7261// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
 7262// func:amc.FDb.zs_ordkeyfield.RemoveFirst
 7263amc::FField*         zs_ordkeyfield_RemoveFirst() __attribute__((nothrow));
 7264// Return reference to last element in the index. No bounds checking.
 7265// func:amc.FDb.zs_ordkeyfield.qLast
 7266amc::FField&         zs_ordkeyfield_qLast() __attribute__((__warn_unused_result__, nothrow));
 7267
 7268// Allocate memory for new default row.
 7269// If out of memory, process is killed.
 7270// func:amc.FDb.nsproto.Alloc
 7271amc::FNsproto&       nsproto_Alloc() __attribute__((__warn_unused_result__, nothrow));
 7272// Allocate memory for new element. If out of memory, return NULL.
 7273// func:amc.FDb.nsproto.AllocMaybe
 7274amc::FNsproto*       nsproto_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 7275// Create new row from struct.
 7276// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 7277// func:amc.FDb.nsproto.InsertMaybe
 7278amc::FNsproto*       nsproto_InsertMaybe(const dmmeta::Nsproto &value) __attribute__((nothrow));
 7279// Allocate space for one element. If no memory available, return NULL.
 7280// func:amc.FDb.nsproto.AllocMem
 7281void*                nsproto_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 7282// Return true if index is empty
 7283// func:amc.FDb.nsproto.EmptyQ
 7284bool                 nsproto_EmptyQ() __attribute__((nothrow, pure));
 7285// Look up row by row id. Return NULL if out of range
 7286// func:amc.FDb.nsproto.Find
 7287amc::FNsproto*       nsproto_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 7288// Return pointer to last element of array, or NULL if array is empty
 7289// func:amc.FDb.nsproto.Last
 7290amc::FNsproto*       nsproto_Last() __attribute__((nothrow, pure));
 7291// Return number of items in the pool
 7292// func:amc.FDb.nsproto.N
 7293i32                  nsproto_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7294// Delete last element of array. Do nothing if array is empty.
 7295// func:amc.FDb.nsproto.RemoveLast
 7296void                 nsproto_RemoveLast() __attribute__((nothrow));
 7297// 'quick' Access row by row id. No bounds checking.
 7298// func:amc.FDb.nsproto.qFind
 7299amc::FNsproto&       nsproto_qFind(u64 t) __attribute__((nothrow, pure));
 7300// Insert row into all appropriate indices. If error occurs, store error
 7301// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 7302// func:amc.FDb.nsproto.XrefMaybe
 7303bool                 nsproto_XrefMaybe(amc::FNsproto &row);
 7304
 7305// Allocate memory for new default row.
 7306// If out of memory, process is killed.
 7307// func:amc.FDb.nsdb.Alloc
 7308amc::FNsdb&          nsdb_Alloc() __attribute__((__warn_unused_result__, nothrow));
 7309// Allocate memory for new element. If out of memory, return NULL.
 7310// func:amc.FDb.nsdb.AllocMaybe
 7311amc::FNsdb*          nsdb_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 7312// Create new row from struct.
 7313// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 7314// func:amc.FDb.nsdb.InsertMaybe
 7315amc::FNsdb*          nsdb_InsertMaybe(const dmmeta::Nsdb &value) __attribute__((nothrow));
 7316// Allocate space for one element. If no memory available, return NULL.
 7317// func:amc.FDb.nsdb.AllocMem
 7318void*                nsdb_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 7319// Return true if index is empty
 7320// func:amc.FDb.nsdb.EmptyQ
 7321bool                 nsdb_EmptyQ() __attribute__((nothrow, pure));
 7322// Look up row by row id. Return NULL if out of range
 7323// func:amc.FDb.nsdb.Find
 7324amc::FNsdb*          nsdb_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 7325// Return pointer to last element of array, or NULL if array is empty
 7326// func:amc.FDb.nsdb.Last
 7327amc::FNsdb*          nsdb_Last() __attribute__((nothrow, pure));
 7328// Return number of items in the pool
 7329// func:amc.FDb.nsdb.N
 7330i32                  nsdb_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7331// Delete last element of array. Do nothing if array is empty.
 7332// func:amc.FDb.nsdb.RemoveLast
 7333void                 nsdb_RemoveLast() __attribute__((nothrow));
 7334// 'quick' Access row by row id. No bounds checking.
 7335// func:amc.FDb.nsdb.qFind
 7336amc::FNsdb&          nsdb_qFind(u64 t) __attribute__((nothrow, pure));
 7337// Insert row into all appropriate indices. If error occurs, store error
 7338// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 7339// func:amc.FDb.nsdb.XrefMaybe
 7340bool                 nsdb_XrefMaybe(amc::FNsdb &row);
 7341
 7342// Return true if index is empty
 7343// func:amc.FDb.zd_substr_params.EmptyQ
 7344bool                 zd_substr_params_EmptyQ() __attribute__((__warn_unused_result__, nothrow, pure));
 7345// If index empty, return NULL. Otherwise return pointer to first element in index
 7346// func:amc.FDb.zd_substr_params.First
 7347amc::FSubstr*        zd_substr_params_First() __attribute__((__warn_unused_result__, nothrow, pure));
 7348// Return true if row is in the linked list, false otherwise
 7349// func:amc.FDb.zd_substr_params.InLlistQ
 7350bool                 zd_substr_params_InLlistQ(amc::FSubstr& row) __attribute__((__warn_unused_result__, nothrow));
 7351// Insert row into linked list. If row is already in linked list, do nothing.
 7352// func:amc.FDb.zd_substr_params.Insert
 7353void                 zd_substr_params_Insert(amc::FSubstr& row) __attribute__((nothrow));
 7354// If index empty, return NULL. Otherwise return pointer to last element in index
 7355// func:amc.FDb.zd_substr_params.Last
 7356amc::FSubstr*        zd_substr_params_Last() __attribute__((__warn_unused_result__, nothrow, pure));
 7357// Return number of items in the linked list
 7358// func:amc.FDb.zd_substr_params.N
 7359i32                  zd_substr_params_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7360// Return pointer to next element in the list
 7361// func:amc.FDb.zd_substr_params.Next
 7362amc::FSubstr*        zd_substr_params_Next(amc::FSubstr &row) __attribute__((__warn_unused_result__, nothrow));
 7363// Return pointer to previous element in the list
 7364// func:amc.FDb.zd_substr_params.Prev
 7365amc::FSubstr*        zd_substr_params_Prev(amc::FSubstr &row) __attribute__((__warn_unused_result__, nothrow));
 7366// Remove element from index. If element is not in index, do nothing.
 7367// func:amc.FDb.zd_substr_params.Remove
 7368void                 zd_substr_params_Remove(amc::FSubstr& row) __attribute__((nothrow));
 7369// Empty the index. (The rows are not deleted)
 7370// func:amc.FDb.zd_substr_params.RemoveAll
 7371void                 zd_substr_params_RemoveAll() __attribute__((nothrow));
 7372// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
 7373// func:amc.FDb.zd_substr_params.RemoveFirst
 7374amc::FSubstr*        zd_substr_params_RemoveFirst() __attribute__((nothrow));
 7375// Return reference to last element in the index. No bounds checking.
 7376// func:amc.FDb.zd_substr_params.qLast
 7377amc::FSubstr&        zd_substr_params_qLast() __attribute__((__warn_unused_result__, nothrow));
 7378
 7379// Return true if hash is empty
 7380// func:amc.FDb.ind_fconst_int.EmptyQ
 7381bool                 ind_fconst_int_EmptyQ() __attribute__((nothrow));
 7382// Find row by key. Return NULL if not found.
 7383// func:amc.FDb.ind_fconst_int.Find
 7384amc::FFconst*        ind_fconst_int_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 7385// Return number of items in the hash
 7386// func:amc.FDb.ind_fconst_int.N
 7387i32                  ind_fconst_int_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7388// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 7389// func:amc.FDb.ind_fconst_int.InsertMaybe
 7390bool                 ind_fconst_int_InsertMaybe(amc::FFconst& row) __attribute__((nothrow));
 7391// Remove reference to element from hash index. If element is not in hash, do nothing
 7392// func:amc.FDb.ind_fconst_int.Remove
 7393void                 ind_fconst_int_Remove(amc::FFconst& row) __attribute__((nothrow));
 7394// Reserve enough room in the hash for N more elements. Return success code.
 7395// func:amc.FDb.ind_fconst_int.Reserve
 7396void                 ind_fconst_int_Reserve(int n) __attribute__((nothrow));
 7397
 7398// Allocate memory for new default row.
 7399// If out of memory, process is killed.
 7400// func:amc.FDb.fprefix.Alloc
 7401amc::FFprefix&       fprefix_Alloc() __attribute__((__warn_unused_result__, nothrow));
 7402// Allocate memory for new element. If out of memory, return NULL.
 7403// func:amc.FDb.fprefix.AllocMaybe
 7404amc::FFprefix*       fprefix_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 7405// Create new row from struct.
 7406// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 7407// func:amc.FDb.fprefix.InsertMaybe
 7408amc::FFprefix*       fprefix_InsertMaybe(const dmmeta::Fprefix &value) __attribute__((nothrow));
 7409// Allocate space for one element. If no memory available, return NULL.
 7410// func:amc.FDb.fprefix.AllocMem
 7411void*                fprefix_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 7412// Return true if index is empty
 7413// func:amc.FDb.fprefix.EmptyQ
 7414bool                 fprefix_EmptyQ() __attribute__((nothrow, pure));
 7415// Look up row by row id. Return NULL if out of range
 7416// func:amc.FDb.fprefix.Find
 7417amc::FFprefix*       fprefix_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 7418// Return pointer to last element of array, or NULL if array is empty
 7419// func:amc.FDb.fprefix.Last
 7420amc::FFprefix*       fprefix_Last() __attribute__((nothrow, pure));
 7421// Return number of items in the pool
 7422// func:amc.FDb.fprefix.N
 7423i32                  fprefix_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7424// Delete last element of array. Do nothing if array is empty.
 7425// func:amc.FDb.fprefix.RemoveLast
 7426void                 fprefix_RemoveLast() __attribute__((nothrow));
 7427// 'quick' Access row by row id. No bounds checking.
 7428// func:amc.FDb.fprefix.qFind
 7429amc::FFprefix&       fprefix_qFind(u64 t) __attribute__((nothrow, pure));
 7430// Insert row into all appropriate indices. If error occurs, store error
 7431// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 7432// func:amc.FDb.fprefix.XrefMaybe
 7433bool                 fprefix_XrefMaybe(amc::FFprefix &row);
 7434
 7435// Return true if hash is empty
 7436// func:amc.FDb.ind_prefix.EmptyQ
 7437bool                 ind_prefix_EmptyQ() __attribute__((nothrow));
 7438// Find row by key. Return NULL if not found.
 7439// func:amc.FDb.ind_prefix.Find
 7440amc::FFprefix*       ind_prefix_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 7441// Find row by key. If not found, create and x-reference a new row with with this key.
 7442// func:amc.FDb.ind_prefix.GetOrCreate
 7443amc::FFprefix&       ind_prefix_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 7444// Return number of items in the hash
 7445// func:amc.FDb.ind_prefix.N
 7446i32                  ind_prefix_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7447// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 7448// func:amc.FDb.ind_prefix.InsertMaybe
 7449bool                 ind_prefix_InsertMaybe(amc::FFprefix& row) __attribute__((nothrow));
 7450// Remove reference to element from hash index. If element is not in hash, do nothing
 7451// func:amc.FDb.ind_prefix.Remove
 7452void                 ind_prefix_Remove(amc::FFprefix& row) __attribute__((nothrow));
 7453// Reserve enough room in the hash for N more elements. Return success code.
 7454// func:amc.FDb.ind_prefix.Reserve
 7455void                 ind_prefix_Reserve(int n) __attribute__((nothrow));
 7456
 7457// Allocate memory for new default row.
 7458// If out of memory, process is killed.
 7459// func:amc.FDb.ftrace.Alloc
 7460amc::FFtrace&        ftrace_Alloc() __attribute__((__warn_unused_result__, nothrow));
 7461// Allocate memory for new element. If out of memory, return NULL.
 7462// func:amc.FDb.ftrace.AllocMaybe
 7463amc::FFtrace*        ftrace_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 7464// Create new row from struct.
 7465// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 7466// func:amc.FDb.ftrace.InsertMaybe
 7467amc::FFtrace*        ftrace_InsertMaybe(const dmmeta::Ftrace &value) __attribute__((nothrow));
 7468// Allocate space for one element. If no memory available, return NULL.
 7469// func:amc.FDb.ftrace.AllocMem
 7470void*                ftrace_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 7471// Return true if index is empty
 7472// func:amc.FDb.ftrace.EmptyQ
 7473bool                 ftrace_EmptyQ() __attribute__((nothrow, pure));
 7474// Look up row by row id. Return NULL if out of range
 7475// func:amc.FDb.ftrace.Find
 7476amc::FFtrace*        ftrace_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 7477// Return pointer to last element of array, or NULL if array is empty
 7478// func:amc.FDb.ftrace.Last
 7479amc::FFtrace*        ftrace_Last() __attribute__((nothrow, pure));
 7480// Return number of items in the pool
 7481// func:amc.FDb.ftrace.N
 7482i32                  ftrace_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7483// Delete last element of array. Do nothing if array is empty.
 7484// func:amc.FDb.ftrace.RemoveLast
 7485void                 ftrace_RemoveLast() __attribute__((nothrow));
 7486// 'quick' Access row by row id. No bounds checking.
 7487// func:amc.FDb.ftrace.qFind
 7488amc::FFtrace&        ftrace_qFind(u64 t) __attribute__((nothrow, pure));
 7489// Insert row into all appropriate indices. If error occurs, store error
 7490// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 7491// func:amc.FDb.ftrace.XrefMaybe
 7492bool                 ftrace_XrefMaybe(amc::FFtrace &row);
 7493
 7494// Allocate memory for new default row.
 7495// If out of memory, process is killed.
 7496// func:amc.FDb.fnoremove.Alloc
 7497amc::FFnoremove&     fnoremove_Alloc() __attribute__((__warn_unused_result__, nothrow));
 7498// Allocate memory for new element. If out of memory, return NULL.
 7499// func:amc.FDb.fnoremove.AllocMaybe
 7500amc::FFnoremove*     fnoremove_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 7501// Create new row from struct.
 7502// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 7503// func:amc.FDb.fnoremove.InsertMaybe
 7504amc::FFnoremove*     fnoremove_InsertMaybe(const dmmeta::Fnoremove &value) __attribute__((nothrow));
 7505// Allocate space for one element. If no memory available, return NULL.
 7506// func:amc.FDb.fnoremove.AllocMem
 7507void*                fnoremove_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 7508// Return true if index is empty
 7509// func:amc.FDb.fnoremove.EmptyQ
 7510bool                 fnoremove_EmptyQ() __attribute__((nothrow, pure));
 7511// Look up row by row id. Return NULL if out of range
 7512// func:amc.FDb.fnoremove.Find
 7513amc::FFnoremove*     fnoremove_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 7514// Return pointer to last element of array, or NULL if array is empty
 7515// func:amc.FDb.fnoremove.Last
 7516amc::FFnoremove*     fnoremove_Last() __attribute__((nothrow, pure));
 7517// Return number of items in the pool
 7518// func:amc.FDb.fnoremove.N
 7519i32                  fnoremove_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7520// Delete last element of array. Do nothing if array is empty.
 7521// func:amc.FDb.fnoremove.RemoveLast
 7522void                 fnoremove_RemoveLast() __attribute__((nothrow));
 7523// 'quick' Access row by row id. No bounds checking.
 7524// func:amc.FDb.fnoremove.qFind
 7525amc::FFnoremove&     fnoremove_qFind(u64 t) __attribute__((nothrow, pure));
 7526// Insert row into all appropriate indices. If error occurs, store error
 7527// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 7528// func:amc.FDb.fnoremove.XrefMaybe
 7529bool                 fnoremove_XrefMaybe(amc::FFnoremove &row);
 7530
 7531// Return true if index is empty
 7532// func:amc.FDb.c_substr_field.EmptyQ
 7533bool                 c_substr_field_EmptyQ() __attribute__((nothrow));
 7534// Look up row by row id. Return NULL if out of range
 7535// func:amc.FDb.c_substr_field.Find
 7536amc::FSubstr*        c_substr_field_Find(u32 t) __attribute__((__warn_unused_result__, nothrow));
 7537// Return array of pointers
 7538// func:amc.FDb.c_substr_field.Getary
 7539algo::aryptr<amc::FSubstr*> c_substr_field_Getary() __attribute__((nothrow));
 7540// Insert pointer to row into array. Row must not already be in array.
 7541// If pointer is already in the array, it may be inserted twice.
 7542// func:amc.FDb.c_substr_field.Insert
 7543void                 c_substr_field_Insert(amc::FSubstr& row) __attribute__((nothrow));
 7544// Insert pointer to row in array.
 7545// If row is already in the array, do nothing.
 7546// Return value: whether element was inserted into array.
 7547// func:amc.FDb.c_substr_field.InsertMaybe
 7548bool                 c_substr_field_InsertMaybe(amc::FSubstr& row) __attribute__((nothrow));
 7549// Return number of items in the pointer array
 7550// func:amc.FDb.c_substr_field.N
 7551i32                  c_substr_field_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7552// Find element using linear scan. If element is in array, remove, otherwise do nothing
 7553// func:amc.FDb.c_substr_field.Remove
 7554void                 c_substr_field_Remove(amc::FSubstr& row) __attribute__((nothrow));
 7555// Empty the index. (The rows are not deleted)
 7556// func:amc.FDb.c_substr_field.RemoveAll
 7557void                 c_substr_field_RemoveAll() __attribute__((nothrow));
 7558// Reserve space in index for N more elements;
 7559// func:amc.FDb.c_substr_field.Reserve
 7560void                 c_substr_field_Reserve(u32 n) __attribute__((nothrow));
 7561// Return reference without bounds checking
 7562// func:amc.FDb.c_substr_field.qFind
 7563amc::FSubstr&        c_substr_field_qFind(u32 idx) __attribute__((nothrow));
 7564// True if row is in any ptrary instance
 7565// func:amc.FDb.c_substr_field.InAryQ
 7566bool                 c_substr_field_InAryQ(amc::FSubstr& row) __attribute__((nothrow));
 7567// Reference to last element without bounds checking
 7568// func:amc.FDb.c_substr_field.qLast
 7569amc::FSubstr&        c_substr_field_qLast() __attribute__((nothrow));
 7570// Verify whether array is sorted
 7571// func:amc.FDb.c_substr_field.SortedQ
 7572bool                 c_substr_field_SortedQ() __attribute__((nothrow));
 7573// Insertion sort
 7574// func:amc.FDb.c_substr_field.InsertionSort
 7575void                 c_substr_field_InsertionSort() __attribute__((nothrow));
 7576// Heap sort
 7577// func:amc.FDb.c_substr_field.HeapSort
 7578void                 c_substr_field_HeapSort() __attribute__((nothrow));
 7579// Quick sort
 7580// func:amc.FDb.c_substr_field.QuickSort
 7581void                 c_substr_field_QuickSort() __attribute__((nothrow));
 7582
 7583// Allocate memory for new default row.
 7584// If out of memory, process is killed.
 7585// func:amc.FDb.ctypelen.Alloc
 7586amc::FCtypelen&      ctypelen_Alloc() __attribute__((__warn_unused_result__, nothrow));
 7587// Allocate memory for new element. If out of memory, return NULL.
 7588// func:amc.FDb.ctypelen.AllocMaybe
 7589amc::FCtypelen*      ctypelen_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 7590// Create new row from struct.
 7591// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 7592// func:amc.FDb.ctypelen.InsertMaybe
 7593amc::FCtypelen*      ctypelen_InsertMaybe(const dmmeta::Ctypelen &value) __attribute__((nothrow));
 7594// Allocate space for one element. If no memory available, return NULL.
 7595// func:amc.FDb.ctypelen.AllocMem
 7596void*                ctypelen_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 7597// Return true if index is empty
 7598// func:amc.FDb.ctypelen.EmptyQ
 7599bool                 ctypelen_EmptyQ() __attribute__((nothrow, pure));
 7600// Look up row by row id. Return NULL if out of range
 7601// func:amc.FDb.ctypelen.Find
 7602amc::FCtypelen*      ctypelen_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 7603// Return pointer to last element of array, or NULL if array is empty
 7604// func:amc.FDb.ctypelen.Last
 7605amc::FCtypelen*      ctypelen_Last() __attribute__((nothrow, pure));
 7606// Return number of items in the pool
 7607// func:amc.FDb.ctypelen.N
 7608i32                  ctypelen_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7609// Remove all elements from Lary
 7610// func:amc.FDb.ctypelen.RemoveAll
 7611void                 ctypelen_RemoveAll() __attribute__((nothrow));
 7612// Delete last element of array. Do nothing if array is empty.
 7613// func:amc.FDb.ctypelen.RemoveLast
 7614void                 ctypelen_RemoveLast() __attribute__((nothrow));
 7615// 'quick' Access row by row id. No bounds checking.
 7616// func:amc.FDb.ctypelen.qFind
 7617amc::FCtypelen&      ctypelen_qFind(u64 t) __attribute__((nothrow, pure));
 7618// Insert row into all appropriate indices. If error occurs, store error
 7619// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 7620// func:amc.FDb.ctypelen.XrefMaybe
 7621bool                 ctypelen_XrefMaybe(amc::FCtypelen &row);
 7622
 7623// Return true if index is empty
 7624// func:amc.FDb.c_ctypelen.EmptyQ
 7625bool                 c_ctypelen_EmptyQ() __attribute__((nothrow));
 7626// Look up row by row id. Return NULL if out of range
 7627// func:amc.FDb.c_ctypelen.Find
 7628amc::FCtypelen*      c_ctypelen_Find(u32 t) __attribute__((__warn_unused_result__, nothrow));
 7629// Return array of pointers
 7630// func:amc.FDb.c_ctypelen.Getary
 7631algo::aryptr<amc::FCtypelen*> c_ctypelen_Getary() __attribute__((nothrow));
 7632// Insert pointer to row into array. Row must not already be in array.
 7633// If pointer is already in the array, it may be inserted twice.
 7634// func:amc.FDb.c_ctypelen.Insert
 7635void                 c_ctypelen_Insert(amc::FCtypelen& row) __attribute__((nothrow));
 7636// Insert pointer to row in array.
 7637// If row is already in the array, do nothing.
 7638// Return value: whether element was inserted into array.
 7639// func:amc.FDb.c_ctypelen.InsertMaybe
 7640bool                 c_ctypelen_InsertMaybe(amc::FCtypelen& row) __attribute__((nothrow));
 7641// Return number of items in the pointer array
 7642// func:amc.FDb.c_ctypelen.N
 7643i32                  c_ctypelen_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7644// Find element using linear scan. If element is in array, remove, otherwise do nothing
 7645// func:amc.FDb.c_ctypelen.Remove
 7646void                 c_ctypelen_Remove(amc::FCtypelen& row) __attribute__((nothrow));
 7647// Empty the index. (The rows are not deleted)
 7648// func:amc.FDb.c_ctypelen.RemoveAll
 7649void                 c_ctypelen_RemoveAll() __attribute__((nothrow));
 7650// Reserve space in index for N more elements;
 7651// func:amc.FDb.c_ctypelen.Reserve
 7652void                 c_ctypelen_Reserve(u32 n) __attribute__((nothrow));
 7653// Return reference without bounds checking
 7654// func:amc.FDb.c_ctypelen.qFind
 7655amc::FCtypelen&      c_ctypelen_qFind(u32 idx) __attribute__((nothrow));
 7656// True if row is in any ptrary instance
 7657// func:amc.FDb.c_ctypelen.InAryQ
 7658bool                 c_ctypelen_InAryQ(amc::FCtypelen& row) __attribute__((nothrow));
 7659// Reference to last element without bounds checking
 7660// func:amc.FDb.c_ctypelen.qLast
 7661amc::FCtypelen&      c_ctypelen_qLast() __attribute__((nothrow));
 7662// Verify whether array is sorted
 7663// func:amc.FDb.c_ctypelen.SortedQ
 7664bool                 c_ctypelen_SortedQ() __attribute__((nothrow));
 7665// Insertion sort
 7666// func:amc.FDb.c_ctypelen.InsertionSort
 7667void                 c_ctypelen_InsertionSort() __attribute__((nothrow));
 7668// Heap sort
 7669// func:amc.FDb.c_ctypelen.HeapSort
 7670void                 c_ctypelen_HeapSort() __attribute__((nothrow));
 7671// Quick sort
 7672// func:amc.FDb.c_ctypelen.QuickSort
 7673void                 c_ctypelen_QuickSort() __attribute__((nothrow));
 7674// Save table to ssimfile
 7675// func:amc.FDb.c_ctypelen.SaveSsimfile
 7676bool                 c_ctypelen_SaveSsimfile(algo::strptr fname) __attribute__((nothrow));
 7677
 7678// Return true if index is empty
 7679// func:amc.FDb.c_tempfield.EmptyQ
 7680bool                 c_tempfield_EmptyQ() __attribute__((nothrow));
 7681// Look up row by row id. Return NULL if out of range
 7682// func:amc.FDb.c_tempfield.Find
 7683amc::FField*         c_tempfield_Find(u32 t) __attribute__((__warn_unused_result__, nothrow));
 7684// Return array of pointers
 7685// func:amc.FDb.c_tempfield.Getary
 7686algo::aryptr<amc::FField*> c_tempfield_Getary() __attribute__((nothrow));
 7687// Insert pointer to row into array. Row must not already be in array.
 7688// If pointer is already in the array, it may be inserted twice.
 7689// func:amc.FDb.c_tempfield.Insert
 7690void                 c_tempfield_Insert(amc::FField& row) __attribute__((nothrow));
 7691// Insert pointer to row in array.
 7692// If row is already in the array, do nothing.
 7693// Return value: whether element was inserted into array.
 7694// func:amc.FDb.c_tempfield.InsertMaybe
 7695bool                 c_tempfield_InsertMaybe(amc::FField& row) __attribute__((nothrow));
 7696// Return number of items in the pointer array
 7697// func:amc.FDb.c_tempfield.N
 7698i32                  c_tempfield_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7699// Find element using linear scan. If element is in array, remove, otherwise do nothing
 7700// func:amc.FDb.c_tempfield.Remove
 7701void                 c_tempfield_Remove(amc::FField& row) __attribute__((nothrow));
 7702// Empty the index. (The rows are not deleted)
 7703// func:amc.FDb.c_tempfield.RemoveAll
 7704void                 c_tempfield_RemoveAll() __attribute__((nothrow));
 7705// Reserve space in index for N more elements;
 7706// func:amc.FDb.c_tempfield.Reserve
 7707void                 c_tempfield_Reserve(u32 n) __attribute__((nothrow));
 7708// Return reference without bounds checking
 7709// func:amc.FDb.c_tempfield.qFind
 7710amc::FField&         c_tempfield_qFind(u32 idx) __attribute__((nothrow));
 7711// True if row is in any ptrary instance
 7712// func:amc.FDb.c_tempfield.InAryQ
 7713bool                 c_tempfield_InAryQ(amc::FField& row) __attribute__((nothrow));
 7714// Reference to last element without bounds checking
 7715// func:amc.FDb.c_tempfield.qLast
 7716amc::FField&         c_tempfield_qLast() __attribute__((nothrow));
 7717
 7718// Allocate memory for new default row.
 7719// If out of memory, process is killed.
 7720// func:amc.FDb.fbase.Alloc
 7721amc::FFbase&         fbase_Alloc() __attribute__((__warn_unused_result__, nothrow));
 7722// Allocate memory for new element. If out of memory, return NULL.
 7723// func:amc.FDb.fbase.AllocMaybe
 7724amc::FFbase*         fbase_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 7725// Create new row from struct.
 7726// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 7727// func:amc.FDb.fbase.InsertMaybe
 7728amc::FFbase*         fbase_InsertMaybe(const dmmeta::Fbase &value) __attribute__((nothrow));
 7729// Allocate space for one element. If no memory available, return NULL.
 7730// func:amc.FDb.fbase.AllocMem
 7731void*                fbase_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 7732// Return true if index is empty
 7733// func:amc.FDb.fbase.EmptyQ
 7734bool                 fbase_EmptyQ() __attribute__((nothrow, pure));
 7735// Look up row by row id. Return NULL if out of range
 7736// func:amc.FDb.fbase.Find
 7737amc::FFbase*         fbase_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 7738// Return pointer to last element of array, or NULL if array is empty
 7739// func:amc.FDb.fbase.Last
 7740amc::FFbase*         fbase_Last() __attribute__((nothrow, pure));
 7741// Return number of items in the pool
 7742// func:amc.FDb.fbase.N
 7743i32                  fbase_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7744// Remove all elements from Lary
 7745// func:amc.FDb.fbase.RemoveAll
 7746void                 fbase_RemoveAll() __attribute__((nothrow));
 7747// Delete last element of array. Do nothing if array is empty.
 7748// func:amc.FDb.fbase.RemoveLast
 7749void                 fbase_RemoveLast() __attribute__((nothrow));
 7750// 'quick' Access row by row id. No bounds checking.
 7751// func:amc.FDb.fbase.qFind
 7752amc::FFbase&         fbase_qFind(u64 t) __attribute__((nothrow, pure));
 7753// Insert row into all appropriate indices. If error occurs, store error
 7754// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 7755// func:amc.FDb.fbase.XrefMaybe
 7756bool                 fbase_XrefMaybe(amc::FFbase &row);
 7757
 7758// Return true if hash is empty
 7759// func:amc.FDb.ind_fcmap.EmptyQ
 7760bool                 ind_fcmap_EmptyQ() __attribute__((nothrow));
 7761// Find row by key. Return NULL if not found.
 7762// func:amc.FDb.ind_fcmap.Find
 7763amc::FFcmap*         ind_fcmap_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 7764// Find row by key. If not found, create and x-reference a new row with with this key.
 7765// func:amc.FDb.ind_fcmap.GetOrCreate
 7766amc::FFcmap&         ind_fcmap_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 7767// Return number of items in the hash
 7768// func:amc.FDb.ind_fcmap.N
 7769i32                  ind_fcmap_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7770// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 7771// func:amc.FDb.ind_fcmap.InsertMaybe
 7772bool                 ind_fcmap_InsertMaybe(amc::FFcmap& row) __attribute__((nothrow));
 7773// Remove reference to element from hash index. If element is not in hash, do nothing
 7774// func:amc.FDb.ind_fcmap.Remove
 7775void                 ind_fcmap_Remove(amc::FFcmap& row) __attribute__((nothrow));
 7776// Reserve enough room in the hash for N more elements. Return success code.
 7777// func:amc.FDb.ind_fcmap.Reserve
 7778void                 ind_fcmap_Reserve(int n) __attribute__((nothrow));
 7779
 7780// Allocate memory for new default row.
 7781// If out of memory, process is killed.
 7782// func:amc.FDb.nossimfile.Alloc
 7783amc::FNossimfile&    nossimfile_Alloc() __attribute__((__warn_unused_result__, nothrow));
 7784// Allocate memory for new element. If out of memory, return NULL.
 7785// func:amc.FDb.nossimfile.AllocMaybe
 7786amc::FNossimfile*    nossimfile_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 7787// Create new row from struct.
 7788// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 7789// func:amc.FDb.nossimfile.InsertMaybe
 7790amc::FNossimfile*    nossimfile_InsertMaybe(const dmmeta::Nossimfile &value) __attribute__((nothrow));
 7791// Allocate space for one element. If no memory available, return NULL.
 7792// func:amc.FDb.nossimfile.AllocMem
 7793void*                nossimfile_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 7794// Return true if index is empty
 7795// func:amc.FDb.nossimfile.EmptyQ
 7796bool                 nossimfile_EmptyQ() __attribute__((nothrow, pure));
 7797// Look up row by row id. Return NULL if out of range
 7798// func:amc.FDb.nossimfile.Find
 7799amc::FNossimfile*    nossimfile_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 7800// Return pointer to last element of array, or NULL if array is empty
 7801// func:amc.FDb.nossimfile.Last
 7802amc::FNossimfile*    nossimfile_Last() __attribute__((nothrow, pure));
 7803// Return number of items in the pool
 7804// func:amc.FDb.nossimfile.N
 7805i32                  nossimfile_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7806// Remove all elements from Lary
 7807// func:amc.FDb.nossimfile.RemoveAll
 7808void                 nossimfile_RemoveAll() __attribute__((nothrow));
 7809// Delete last element of array. Do nothing if array is empty.
 7810// func:amc.FDb.nossimfile.RemoveLast
 7811void                 nossimfile_RemoveLast() __attribute__((nothrow));
 7812// 'quick' Access row by row id. No bounds checking.
 7813// func:amc.FDb.nossimfile.qFind
 7814amc::FNossimfile&    nossimfile_qFind(u64 t) __attribute__((nothrow, pure));
 7815// Insert row into all appropriate indices. If error occurs, store error
 7816// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 7817// func:amc.FDb.nossimfile.XrefMaybe
 7818bool                 nossimfile_XrefMaybe(amc::FNossimfile &row);
 7819
 7820// Allocate memory for new default row.
 7821// If out of memory, process is killed.
 7822// func:amc.FDb.gsymbol.Alloc
 7823amc::FGsymbol&       gsymbol_Alloc() __attribute__((__warn_unused_result__, nothrow));
 7824// Allocate memory for new element. If out of memory, return NULL.
 7825// func:amc.FDb.gsymbol.AllocMaybe
 7826amc::FGsymbol*       gsymbol_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 7827// Create new row from struct.
 7828// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 7829// func:amc.FDb.gsymbol.InsertMaybe
 7830amc::FGsymbol*       gsymbol_InsertMaybe(const dmmeta::Gsymbol &value) __attribute__((nothrow));
 7831// Allocate space for one element. If no memory available, return NULL.
 7832// func:amc.FDb.gsymbol.AllocMem
 7833void*                gsymbol_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 7834// Return true if index is empty
 7835// func:amc.FDb.gsymbol.EmptyQ
 7836bool                 gsymbol_EmptyQ() __attribute__((nothrow, pure));
 7837// Look up row by row id. Return NULL if out of range
 7838// func:amc.FDb.gsymbol.Find
 7839amc::FGsymbol*       gsymbol_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 7840// Return pointer to last element of array, or NULL if array is empty
 7841// func:amc.FDb.gsymbol.Last
 7842amc::FGsymbol*       gsymbol_Last() __attribute__((nothrow, pure));
 7843// Return number of items in the pool
 7844// func:amc.FDb.gsymbol.N
 7845i32                  gsymbol_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7846// Remove all elements from Lary
 7847// func:amc.FDb.gsymbol.RemoveAll
 7848void                 gsymbol_RemoveAll() __attribute__((nothrow));
 7849// Delete last element of array. Do nothing if array is empty.
 7850// func:amc.FDb.gsymbol.RemoveLast
 7851void                 gsymbol_RemoveLast() __attribute__((nothrow));
 7852// 'quick' Access row by row id. No bounds checking.
 7853// func:amc.FDb.gsymbol.qFind
 7854amc::FGsymbol&       gsymbol_qFind(u64 t) __attribute__((nothrow, pure));
 7855// Insert row into all appropriate indices. If error occurs, store error
 7856// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 7857// func:amc.FDb.gsymbol.XrefMaybe
 7858bool                 gsymbol_XrefMaybe(amc::FGsymbol &row);
 7859
 7860// Allocate memory for new default row.
 7861// If out of memory, process is killed.
 7862// func:amc.FDb.sortfld.Alloc
 7863amc::FSortfld&       sortfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
 7864// Allocate memory for new element. If out of memory, return NULL.
 7865// func:amc.FDb.sortfld.AllocMaybe
 7866amc::FSortfld*       sortfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 7867// Create new row from struct.
 7868// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 7869// func:amc.FDb.sortfld.InsertMaybe
 7870amc::FSortfld*       sortfld_InsertMaybe(const dmmeta::Sortfld &value) __attribute__((nothrow));
 7871// Allocate space for one element. If no memory available, return NULL.
 7872// func:amc.FDb.sortfld.AllocMem
 7873void*                sortfld_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 7874// Return true if index is empty
 7875// func:amc.FDb.sortfld.EmptyQ
 7876bool                 sortfld_EmptyQ() __attribute__((nothrow, pure));
 7877// Look up row by row id. Return NULL if out of range
 7878// func:amc.FDb.sortfld.Find
 7879amc::FSortfld*       sortfld_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 7880// Return pointer to last element of array, or NULL if array is empty
 7881// func:amc.FDb.sortfld.Last
 7882amc::FSortfld*       sortfld_Last() __attribute__((nothrow, pure));
 7883// Return number of items in the pool
 7884// func:amc.FDb.sortfld.N
 7885i32                  sortfld_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7886// Delete last element of array. Do nothing if array is empty.
 7887// func:amc.FDb.sortfld.RemoveLast
 7888void                 sortfld_RemoveLast() __attribute__((nothrow));
 7889// 'quick' Access row by row id. No bounds checking.
 7890// func:amc.FDb.sortfld.qFind
 7891amc::FSortfld&       sortfld_qFind(u64 t) __attribute__((nothrow, pure));
 7892// Insert row into all appropriate indices. If error occurs, store error
 7893// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 7894// func:amc.FDb.sortfld.XrefMaybe
 7895bool                 sortfld_XrefMaybe(amc::FSortfld &row);
 7896
 7897// Allocate memory for new default row.
 7898// If out of memory, process is killed.
 7899// func:amc.FDb.cget.Alloc
 7900amc::FCget&          cget_Alloc() __attribute__((__warn_unused_result__, nothrow));
 7901// Allocate memory for new element. If out of memory, return NULL.
 7902// func:amc.FDb.cget.AllocMaybe
 7903amc::FCget*          cget_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 7904// Create new row from struct.
 7905// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 7906// func:amc.FDb.cget.InsertMaybe
 7907amc::FCget*          cget_InsertMaybe(const dmmeta::Cget &value) __attribute__((nothrow));
 7908// Allocate space for one element. If no memory available, return NULL.
 7909// func:amc.FDb.cget.AllocMem
 7910void*                cget_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 7911// Return true if index is empty
 7912// func:amc.FDb.cget.EmptyQ
 7913bool                 cget_EmptyQ() __attribute__((nothrow, pure));
 7914// Look up row by row id. Return NULL if out of range
 7915// func:amc.FDb.cget.Find
 7916amc::FCget*          cget_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 7917// Return pointer to last element of array, or NULL if array is empty
 7918// func:amc.FDb.cget.Last
 7919amc::FCget*          cget_Last() __attribute__((nothrow, pure));
 7920// Return number of items in the pool
 7921// func:amc.FDb.cget.N
 7922i32                  cget_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7923// Delete last element of array. Do nothing if array is empty.
 7924// func:amc.FDb.cget.RemoveLast
 7925void                 cget_RemoveLast() __attribute__((nothrow));
 7926// 'quick' Access row by row id. No bounds checking.
 7927// func:amc.FDb.cget.qFind
 7928amc::FCget&          cget_qFind(u64 t) __attribute__((nothrow, pure));
 7929// Insert row into all appropriate indices. If error occurs, store error
 7930// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 7931// func:amc.FDb.cget.XrefMaybe
 7932bool                 cget_XrefMaybe(amc::FCget &row);
 7933
 7934// Return true if index is empty
 7935// func:amc.FDb.cd_temp_func.EmptyQ
 7936bool                 cd_temp_func_EmptyQ() __attribute__((__warn_unused_result__, nothrow, pure));
 7937// If index empty, return NULL. Otherwise return pointer to first element in index
 7938// func:amc.FDb.cd_temp_func.First
 7939amc::FFunc*          cd_temp_func_First() __attribute__((__warn_unused_result__, nothrow, pure));
 7940// Return true if row is in the linked list, false otherwise
 7941// func:amc.FDb.cd_temp_func.InLlistQ
 7942bool                 cd_temp_func_InLlistQ(amc::FFunc& row) __attribute__((__warn_unused_result__, nothrow));
 7943// Insert row into linked list. If row is already in linked list, do nothing.
 7944// func:amc.FDb.cd_temp_func.Insert
 7945void                 cd_temp_func_Insert(amc::FFunc& row) __attribute__((nothrow));
 7946// If index empty, return NULL. Otherwise return pointer to last element in index
 7947// func:amc.FDb.cd_temp_func.Last
 7948amc::FFunc*          cd_temp_func_Last() __attribute__((__warn_unused_result__, nothrow, pure));
 7949// Return number of items in the linked list
 7950// func:amc.FDb.cd_temp_func.N
 7951i32                  cd_temp_func_N() __attribute__((__warn_unused_result__, nothrow, pure));
 7952// Return pointer to next element in the list
 7953// func:amc.FDb.cd_temp_func.Next
 7954amc::FFunc*          cd_temp_func_Next(amc::FFunc &row) __attribute__((__warn_unused_result__, nothrow));
 7955// Return pointer to previous element in the list
 7956// func:amc.FDb.cd_temp_func.Prev
 7957amc::FFunc*          cd_temp_func_Prev(amc::FFunc &row) __attribute__((__warn_unused_result__, nothrow));
 7958// Remove element from index. If element is not in index, do nothing.
 7959// func:amc.FDb.cd_temp_func.Remove
 7960void                 cd_temp_func_Remove(amc::FFunc& row) __attribute__((nothrow));
 7961// Empty the index. (The rows are not deleted)
 7962// func:amc.FDb.cd_temp_func.RemoveAll
 7963void                 cd_temp_func_RemoveAll() __attribute__((nothrow));
 7964// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
 7965// func:amc.FDb.cd_temp_func.RemoveFirst
 7966amc::FFunc*          cd_temp_func_RemoveFirst() __attribute__((nothrow));
 7967// If linked list is empty, return NULL.
 7968// Otherwise return head item and advance head to the next item.
 7969// func:amc.FDb.cd_temp_func.RotateFirst
 7970amc::FFunc*          cd_temp_func_RotateFirst() __attribute__((nothrow));
 7971// Return reference to last element in the index. No bounds checking.
 7972// func:amc.FDb.cd_temp_func.qLast
 7973amc::FFunc&          cd_temp_func_qLast() __attribute__((__warn_unused_result__, nothrow));
 7974
 7975// Return true if index is empty
 7976// func:amc.FDb.zs_gen_perns.EmptyQ
 7977bool                 zs_gen_perns_EmptyQ() __attribute__((__warn_unused_result__, nothrow, pure));
 7978// If index empty, return NULL. Otherwise return pointer to first element in index
 7979// func:amc.FDb.zs_gen_perns.First
 7980amc::FGen*           zs_gen_perns_First() __attribute__((__warn_unused_result__, nothrow, pure));
 7981// Return true if row is in the linked list, false otherwise
 7982// func:amc.FDb.zs_gen_perns.InLlistQ
 7983bool                 zs_gen_perns_InLlistQ(amc::FGen& row) __attribute__((__warn_unused_result__, nothrow));
 7984// Insert row into linked list. If row is already in linked list, do nothing.
 7985// func:amc.FDb.zs_gen_perns.Insert
 7986void                 zs_gen_perns_Insert(amc::FGen& row) __attribute__((nothrow));
 7987// If index empty, return NULL. Otherwise return pointer to last element in index
 7988// func:amc.FDb.zs_gen_perns.Last
 7989amc::FGen*           zs_gen_perns_Last() __attribute__((__warn_unused_result__, nothrow, pure));
 7990// Return pointer to next element in the list
 7991// func:amc.FDb.zs_gen_perns.Next
 7992amc::FGen*           zs_gen_perns_Next(amc::FGen &row) __attribute__((__warn_unused_result__, nothrow));
 7993// Remove element from index. If element is not in index, do nothing.
 7994// Since the list is singly-linked, use linear search to locate the element.
 7995// func:amc.FDb.zs_gen_perns.Remove
 7996void                 zs_gen_perns_Remove(amc::FGen& row) __attribute__((nothrow));
 7997// Empty the index. (The rows are not deleted)
 7998// func:amc.FDb.zs_gen_perns.RemoveAll
 7999void                 zs_gen_perns_RemoveAll() __attribute__((nothrow));
 8000// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
 8001// func:amc.FDb.zs_gen_perns.RemoveFirst
 8002amc::FGen*           zs_gen_perns_RemoveFirst() __attribute__((nothrow));
 8003// Return reference to last element in the index. No bounds checking.
 8004// func:amc.FDb.zs_gen_perns.qLast
 8005amc::FGen&           zs_gen_perns_qLast() __attribute__((__warn_unused_result__, nothrow));
 8006
 8007// Allocate memory for new default row.
 8008// If out of memory, process is killed.
 8009// func:amc.FDb.hook.Alloc
 8010amc::FHook&          hook_Alloc() __attribute__((__warn_unused_result__, nothrow));
 8011// Allocate memory for new element. If out of memory, return NULL.
 8012// func:amc.FDb.hook.AllocMaybe
 8013amc::FHook*          hook_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 8014// Create new row from struct.
 8015// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 8016// func:amc.FDb.hook.InsertMaybe
 8017amc::FHook*          hook_InsertMaybe(const dmmeta::Hook &value) __attribute__((nothrow));
 8018// Allocate space for one element. If no memory available, return NULL.
 8019// func:amc.FDb.hook.AllocMem
 8020void*                hook_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 8021// Return true if index is empty
 8022// func:amc.FDb.hook.EmptyQ
 8023bool                 hook_EmptyQ() __attribute__((nothrow, pure));
 8024// Look up row by row id. Return NULL if out of range
 8025// func:amc.FDb.hook.Find
 8026amc::FHook*          hook_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 8027// Return pointer to last element of array, or NULL if array is empty
 8028// func:amc.FDb.hook.Last
 8029amc::FHook*          hook_Last() __attribute__((nothrow, pure));
 8030// Return number of items in the pool
 8031// func:amc.FDb.hook.N
 8032i32                  hook_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8033// Remove all elements from Lary
 8034// func:amc.FDb.hook.RemoveAll
 8035void                 hook_RemoveAll() __attribute__((nothrow));
 8036// Delete last element of array. Do nothing if array is empty.
 8037// func:amc.FDb.hook.RemoveLast
 8038void                 hook_RemoveLast() __attribute__((nothrow));
 8039// 'quick' Access row by row id. No bounds checking.
 8040// func:amc.FDb.hook.qFind
 8041amc::FHook&          hook_qFind(u64 t) __attribute__((nothrow, pure));
 8042// Insert row into all appropriate indices. If error occurs, store error
 8043// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 8044// func:amc.FDb.hook.XrefMaybe
 8045bool                 hook_XrefMaybe(amc::FHook &row);
 8046
 8047// Allocate memory for new default row.
 8048// If out of memory, process is killed.
 8049// func:amc.FDb.charset.Alloc
 8050amc::FCharset&       charset_Alloc() __attribute__((__warn_unused_result__, nothrow));
 8051// Allocate memory for new element. If out of memory, return NULL.
 8052// func:amc.FDb.charset.AllocMaybe
 8053amc::FCharset*       charset_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 8054// Create new row from struct.
 8055// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 8056// func:amc.FDb.charset.InsertMaybe
 8057amc::FCharset*       charset_InsertMaybe(const dmmeta::Charset &value) __attribute__((nothrow));
 8058// Allocate space for one element. If no memory available, return NULL.
 8059// func:amc.FDb.charset.AllocMem
 8060void*                charset_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 8061// Return true if index is empty
 8062// func:amc.FDb.charset.EmptyQ
 8063bool                 charset_EmptyQ() __attribute__((nothrow, pure));
 8064// Look up row by row id. Return NULL if out of range
 8065// func:amc.FDb.charset.Find
 8066amc::FCharset*       charset_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 8067// Return pointer to last element of array, or NULL if array is empty
 8068// func:amc.FDb.charset.Last
 8069amc::FCharset*       charset_Last() __attribute__((nothrow, pure));
 8070// Return number of items in the pool
 8071// func:amc.FDb.charset.N
 8072i32                  charset_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8073// Remove all elements from Lary
 8074// func:amc.FDb.charset.RemoveAll
 8075void                 charset_RemoveAll() __attribute__((nothrow));
 8076// Delete last element of array. Do nothing if array is empty.
 8077// func:amc.FDb.charset.RemoveLast
 8078void                 charset_RemoveLast() __attribute__((nothrow));
 8079// 'quick' Access row by row id. No bounds checking.
 8080// func:amc.FDb.charset.qFind
 8081amc::FCharset&       charset_qFind(u64 t) __attribute__((nothrow, pure));
 8082// Insert row into all appropriate indices. If error occurs, store error
 8083// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 8084// func:amc.FDb.charset.XrefMaybe
 8085bool                 charset_XrefMaybe(amc::FCharset &row);
 8086
 8087// func:amc.FDb.ValidRnumPad.Match
 8088bool                 ValidRnumPadQ(u32 ch) __attribute__((nothrow));
 8089
 8090// Allocate memory for new default row.
 8091// If out of memory, process is killed.
 8092// func:amc.FDb.nsinclude.Alloc
 8093amc::FNsinclude&     nsinclude_Alloc() __attribute__((__warn_unused_result__, nothrow));
 8094// Allocate memory for new element. If out of memory, return NULL.
 8095// func:amc.FDb.nsinclude.AllocMaybe
 8096amc::FNsinclude*     nsinclude_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 8097// Create new row from struct.
 8098// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 8099// func:amc.FDb.nsinclude.InsertMaybe
 8100amc::FNsinclude*     nsinclude_InsertMaybe(const dmmeta::Nsinclude &value) __attribute__((nothrow));
 8101// Allocate space for one element. If no memory available, return NULL.
 8102// func:amc.FDb.nsinclude.AllocMem
 8103void*                nsinclude_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 8104// Return true if index is empty
 8105// func:amc.FDb.nsinclude.EmptyQ
 8106bool                 nsinclude_EmptyQ() __attribute__((nothrow, pure));
 8107// Look up row by row id. Return NULL if out of range
 8108// func:amc.FDb.nsinclude.Find
 8109amc::FNsinclude*     nsinclude_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 8110// Return pointer to last element of array, or NULL if array is empty
 8111// func:amc.FDb.nsinclude.Last
 8112amc::FNsinclude*     nsinclude_Last() __attribute__((nothrow, pure));
 8113// Return number of items in the pool
 8114// func:amc.FDb.nsinclude.N
 8115i32                  nsinclude_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8116// Remove all elements from Lary
 8117// func:amc.FDb.nsinclude.RemoveAll
 8118void                 nsinclude_RemoveAll() __attribute__((nothrow));
 8119// Delete last element of array. Do nothing if array is empty.
 8120// func:amc.FDb.nsinclude.RemoveLast
 8121void                 nsinclude_RemoveLast() __attribute__((nothrow));
 8122// 'quick' Access row by row id. No bounds checking.
 8123// func:amc.FDb.nsinclude.qFind
 8124amc::FNsinclude&     nsinclude_qFind(u64 t) __attribute__((nothrow, pure));
 8125// Insert row into all appropriate indices. If error occurs, store error
 8126// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 8127// func:amc.FDb.nsinclude.XrefMaybe
 8128bool                 nsinclude_XrefMaybe(amc::FNsinclude &row);
 8129
 8130// Allocate memory for new default row.
 8131// If out of memory, process is killed.
 8132// func:amc.FDb.ssimvolatile.Alloc
 8133amc::FSsimvolatile&  ssimvolatile_Alloc() __attribute__((__warn_unused_result__, nothrow));
 8134// Allocate memory for new element. If out of memory, return NULL.
 8135// func:amc.FDb.ssimvolatile.AllocMaybe
 8136amc::FSsimvolatile*  ssimvolatile_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 8137// Create new row from struct.
 8138// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 8139// func:amc.FDb.ssimvolatile.InsertMaybe
 8140amc::FSsimvolatile*  ssimvolatile_InsertMaybe(const dmmeta::Ssimvolatile &value) __attribute__((nothrow));
 8141// Allocate space for one element. If no memory available, return NULL.
 8142// func:amc.FDb.ssimvolatile.AllocMem
 8143void*                ssimvolatile_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 8144// Return true if index is empty
 8145// func:amc.FDb.ssimvolatile.EmptyQ
 8146bool                 ssimvolatile_EmptyQ() __attribute__((nothrow, pure));
 8147// Look up row by row id. Return NULL if out of range
 8148// func:amc.FDb.ssimvolatile.Find
 8149amc::FSsimvolatile*  ssimvolatile_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 8150// Return pointer to last element of array, or NULL if array is empty
 8151// func:amc.FDb.ssimvolatile.Last
 8152amc::FSsimvolatile*  ssimvolatile_Last() __attribute__((nothrow, pure));
 8153// Return number of items in the pool
 8154// func:amc.FDb.ssimvolatile.N
 8155i32                  ssimvolatile_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8156// Remove all elements from Lary
 8157// func:amc.FDb.ssimvolatile.RemoveAll
 8158void                 ssimvolatile_RemoveAll() __attribute__((nothrow));
 8159// Delete last element of array. Do nothing if array is empty.
 8160// func:amc.FDb.ssimvolatile.RemoveLast
 8161void                 ssimvolatile_RemoveLast() __attribute__((nothrow));
 8162// 'quick' Access row by row id. No bounds checking.
 8163// func:amc.FDb.ssimvolatile.qFind
 8164amc::FSsimvolatile&  ssimvolatile_qFind(u64 t) __attribute__((nothrow, pure));
 8165// Insert row into all appropriate indices. If error occurs, store error
 8166// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 8167// func:amc.FDb.ssimvolatile.XrefMaybe
 8168bool                 ssimvolatile_XrefMaybe(amc::FSsimvolatile &row);
 8169
 8170// Allocate memory for new default row.
 8171// If out of memory, process is killed.
 8172// func:amc.FDb.funique.Alloc
 8173amc::FFunique&       funique_Alloc() __attribute__((__warn_unused_result__, nothrow));
 8174// Allocate memory for new element. If out of memory, return NULL.
 8175// func:amc.FDb.funique.AllocMaybe
 8176amc::FFunique*       funique_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 8177// Create new row from struct.
 8178// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 8179// func:amc.FDb.funique.InsertMaybe
 8180amc::FFunique*       funique_InsertMaybe(const dmmeta::Funique &value) __attribute__((nothrow));
 8181// Allocate space for one element. If no memory available, return NULL.
 8182// func:amc.FDb.funique.AllocMem
 8183void*                funique_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 8184// Return true if index is empty
 8185// func:amc.FDb.funique.EmptyQ
 8186bool                 funique_EmptyQ() __attribute__((nothrow, pure));
 8187// Look up row by row id. Return NULL if out of range
 8188// func:amc.FDb.funique.Find
 8189amc::FFunique*       funique_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 8190// Return pointer to last element of array, or NULL if array is empty
 8191// func:amc.FDb.funique.Last
 8192amc::FFunique*       funique_Last() __attribute__((nothrow, pure));
 8193// Return number of items in the pool
 8194// func:amc.FDb.funique.N
 8195i32                  funique_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8196// Remove all elements from Lary
 8197// func:amc.FDb.funique.RemoveAll
 8198void                 funique_RemoveAll() __attribute__((nothrow));
 8199// Delete last element of array. Do nothing if array is empty.
 8200// func:amc.FDb.funique.RemoveLast
 8201void                 funique_RemoveLast() __attribute__((nothrow));
 8202// 'quick' Access row by row id. No bounds checking.
 8203// func:amc.FDb.funique.qFind
 8204amc::FFunique&       funique_qFind(u64 t) __attribute__((nothrow, pure));
 8205// Insert row into all appropriate indices. If error occurs, store error
 8206// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 8207// func:amc.FDb.funique.XrefMaybe
 8208bool                 funique_XrefMaybe(amc::FFunique &row);
 8209
 8210// Allocate memory for new default row.
 8211// If out of memory, process is killed.
 8212// func:amc.FDb.fuserinit.Alloc
 8213amc::FFuserinit&     fuserinit_Alloc() __attribute__((__warn_unused_result__, nothrow));
 8214// Allocate memory for new element. If out of memory, return NULL.
 8215// func:amc.FDb.fuserinit.AllocMaybe
 8216amc::FFuserinit*     fuserinit_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 8217// Create new row from struct.
 8218// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 8219// func:amc.FDb.fuserinit.InsertMaybe
 8220amc::FFuserinit*     fuserinit_InsertMaybe(const dmmeta::Fuserinit &value) __attribute__((nothrow));
 8221// Allocate space for one element. If no memory available, return NULL.
 8222// func:amc.FDb.fuserinit.AllocMem
 8223void*                fuserinit_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 8224// Return true if index is empty
 8225// func:amc.FDb.fuserinit.EmptyQ
 8226bool                 fuserinit_EmptyQ() __attribute__((nothrow, pure));
 8227// Look up row by row id. Return NULL if out of range
 8228// func:amc.FDb.fuserinit.Find
 8229amc::FFuserinit*     fuserinit_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 8230// Return pointer to last element of array, or NULL if array is empty
 8231// func:amc.FDb.fuserinit.Last
 8232amc::FFuserinit*     fuserinit_Last() __attribute__((nothrow, pure));
 8233// Return number of items in the pool
 8234// func:amc.FDb.fuserinit.N
 8235i32                  fuserinit_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8236// Remove all elements from Lary
 8237// func:amc.FDb.fuserinit.RemoveAll
 8238void                 fuserinit_RemoveAll() __attribute__((nothrow));
 8239// Delete last element of array. Do nothing if array is empty.
 8240// func:amc.FDb.fuserinit.RemoveLast
 8241void                 fuserinit_RemoveLast() __attribute__((nothrow));
 8242// 'quick' Access row by row id. No bounds checking.
 8243// func:amc.FDb.fuserinit.qFind
 8244amc::FFuserinit&     fuserinit_qFind(u64 t) __attribute__((nothrow, pure));
 8245// Insert row into all appropriate indices. If error occurs, store error
 8246// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 8247// func:amc.FDb.fuserinit.XrefMaybe
 8248bool                 fuserinit_XrefMaybe(amc::FFuserinit &row);
 8249
 8250// Return true if hash is empty
 8251// func:amc.FDb.ind_fcurs.EmptyQ
 8252bool                 ind_fcurs_EmptyQ() __attribute__((nothrow));
 8253// Find row by key. Return NULL if not found.
 8254// func:amc.FDb.ind_fcurs.Find
 8255amc::FFcurs*         ind_fcurs_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 8256// Find row by key. If not found, create and x-reference a new row with with this key.
 8257// func:amc.FDb.ind_fcurs.GetOrCreate
 8258amc::FFcurs&         ind_fcurs_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 8259// Return number of items in the hash
 8260// func:amc.FDb.ind_fcurs.N
 8261i32                  ind_fcurs_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8262// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 8263// func:amc.FDb.ind_fcurs.InsertMaybe
 8264bool                 ind_fcurs_InsertMaybe(amc::FFcurs& row) __attribute__((nothrow));
 8265// Remove reference to element from hash index. If element is not in hash, do nothing
 8266// func:amc.FDb.ind_fcurs.Remove
 8267void                 ind_fcurs_Remove(amc::FFcurs& row) __attribute__((nothrow));
 8268// Reserve enough room in the hash for N more elements. Return success code.
 8269// func:amc.FDb.ind_fcurs.Reserve
 8270void                 ind_fcurs_Reserve(int n) __attribute__((nothrow));
 8271
 8272// Allocate memory for new default row.
 8273// If out of memory, process is killed.
 8274// func:amc.FDb.tcurs.Alloc
 8275amc::FTcurs&         tcurs_Alloc() __attribute__((__warn_unused_result__, nothrow));
 8276// Allocate memory for new element. If out of memory, return NULL.
 8277// func:amc.FDb.tcurs.AllocMaybe
 8278amc::FTcurs*         tcurs_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 8279// Create new row from struct.
 8280// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 8281// func:amc.FDb.tcurs.InsertMaybe
 8282amc::FTcurs*         tcurs_InsertMaybe(const amcdb::Tcurs &value) __attribute__((nothrow));
 8283// Allocate space for one element. If no memory available, return NULL.
 8284// func:amc.FDb.tcurs.AllocMem
 8285void*                tcurs_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 8286// Return true if index is empty
 8287// func:amc.FDb.tcurs.EmptyQ
 8288bool                 tcurs_EmptyQ() __attribute__((nothrow, pure));
 8289// Look up row by row id. Return NULL if out of range
 8290// func:amc.FDb.tcurs.Find
 8291amc::FTcurs*         tcurs_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 8292// Return pointer to last element of array, or NULL if array is empty
 8293// func:amc.FDb.tcurs.Last
 8294amc::FTcurs*         tcurs_Last() __attribute__((nothrow, pure));
 8295// Return number of items in the pool
 8296// func:amc.FDb.tcurs.N
 8297i32                  tcurs_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8298// Remove all elements from Lary
 8299// func:amc.FDb.tcurs.RemoveAll
 8300void                 tcurs_RemoveAll() __attribute__((nothrow));
 8301// Delete last element of array. Do nothing if array is empty.
 8302// func:amc.FDb.tcurs.RemoveLast
 8303void                 tcurs_RemoveLast() __attribute__((nothrow));
 8304// 'quick' Access row by row id. No bounds checking.
 8305// func:amc.FDb.tcurs.qFind
 8306amc::FTcurs&         tcurs_qFind(u64 t) __attribute__((nothrow, pure));
 8307// Insert row into all appropriate indices. If error occurs, store error
 8308// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 8309// func:amc.FDb.tcurs.XrefMaybe
 8310bool                 tcurs_XrefMaybe(amc::FTcurs &row);
 8311
 8312// Allocate memory for new default row.
 8313// If out of memory, process is killed.
 8314// func:amc.FDb.nscpp.Alloc
 8315amc::FNscpp&         nscpp_Alloc() __attribute__((__warn_unused_result__, nothrow));
 8316// Allocate memory for new element. If out of memory, return NULL.
 8317// func:amc.FDb.nscpp.AllocMaybe
 8318amc::FNscpp*         nscpp_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 8319// Create new row from struct.
 8320// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 8321// func:amc.FDb.nscpp.InsertMaybe
 8322amc::FNscpp*         nscpp_InsertMaybe(const dmmeta::Nscpp &value) __attribute__((nothrow));
 8323// Allocate space for one element. If no memory available, return NULL.
 8324// func:amc.FDb.nscpp.AllocMem
 8325void*                nscpp_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 8326// Return true if index is empty
 8327// func:amc.FDb.nscpp.EmptyQ
 8328bool                 nscpp_EmptyQ() __attribute__((nothrow, pure));
 8329// Look up row by row id. Return NULL if out of range
 8330// func:amc.FDb.nscpp.Find
 8331amc::FNscpp*         nscpp_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 8332// Return pointer to last element of array, or NULL if array is empty
 8333// func:amc.FDb.nscpp.Last
 8334amc::FNscpp*         nscpp_Last() __attribute__((nothrow, pure));
 8335// Return number of items in the pool
 8336// func:amc.FDb.nscpp.N
 8337i32                  nscpp_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8338// Remove all elements from Lary
 8339// func:amc.FDb.nscpp.RemoveAll
 8340void                 nscpp_RemoveAll() __attribute__((nothrow));
 8341// Delete last element of array. Do nothing if array is empty.
 8342// func:amc.FDb.nscpp.RemoveLast
 8343void                 nscpp_RemoveLast() __attribute__((nothrow));
 8344// 'quick' Access row by row id. No bounds checking.
 8345// func:amc.FDb.nscpp.qFind
 8346amc::FNscpp&         nscpp_qFind(u64 t) __attribute__((nothrow, pure));
 8347// Insert row into all appropriate indices. If error occurs, store error
 8348// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 8349// func:amc.FDb.nscpp.XrefMaybe
 8350bool                 nscpp_XrefMaybe(amc::FNscpp &row);
 8351
 8352// Allocate memory for new default row.
 8353// If out of memory, process is killed.
 8354// func:amc.FDb.fflag.Alloc
 8355amc::FFflag&         fflag_Alloc() __attribute__((__warn_unused_result__, nothrow));
 8356// Allocate memory for new element. If out of memory, return NULL.
 8357// func:amc.FDb.fflag.AllocMaybe
 8358amc::FFflag*         fflag_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 8359// Create new row from struct.
 8360// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 8361// func:amc.FDb.fflag.InsertMaybe
 8362amc::FFflag*         fflag_InsertMaybe(const dmmeta::Fflag &value) __attribute__((nothrow));
 8363// Allocate space for one element. If no memory available, return NULL.
 8364// func:amc.FDb.fflag.AllocMem
 8365void*                fflag_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 8366// Return true if index is empty
 8367// func:amc.FDb.fflag.EmptyQ
 8368bool                 fflag_EmptyQ() __attribute__((nothrow, pure));
 8369// Look up row by row id. Return NULL if out of range
 8370// func:amc.FDb.fflag.Find
 8371amc::FFflag*         fflag_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 8372// Return pointer to last element of array, or NULL if array is empty
 8373// func:amc.FDb.fflag.Last
 8374amc::FFflag*         fflag_Last() __attribute__((nothrow, pure));
 8375// Return number of items in the pool
 8376// func:amc.FDb.fflag.N
 8377i32                  fflag_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8378// Remove all elements from Lary
 8379// func:amc.FDb.fflag.RemoveAll
 8380void                 fflag_RemoveAll() __attribute__((nothrow));
 8381// Delete last element of array. Do nothing if array is empty.
 8382// func:amc.FDb.fflag.RemoveLast
 8383void                 fflag_RemoveLast() __attribute__((nothrow));
 8384// 'quick' Access row by row id. No bounds checking.
 8385// func:amc.FDb.fflag.qFind
 8386amc::FFflag&         fflag_qFind(u64 t) __attribute__((nothrow, pure));
 8387// Insert row into all appropriate indices. If error occurs, store error
 8388// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 8389// func:amc.FDb.fflag.XrefMaybe
 8390bool                 fflag_XrefMaybe(amc::FFflag &row);
 8391
 8392// Return true if hash is empty
 8393// func:amc.FDb.ind_fflag.EmptyQ
 8394bool                 ind_fflag_EmptyQ() __attribute__((nothrow));
 8395// Find row by key. Return NULL if not found.
 8396// func:amc.FDb.ind_fflag.Find
 8397amc::FFflag*         ind_fflag_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 8398// Find row by key. If not found, create and x-reference a new row with with this key.
 8399// func:amc.FDb.ind_fflag.GetOrCreate
 8400amc::FFflag&         ind_fflag_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 8401// Return number of items in the hash
 8402// func:amc.FDb.ind_fflag.N
 8403i32                  ind_fflag_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8404// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 8405// func:amc.FDb.ind_fflag.InsertMaybe
 8406bool                 ind_fflag_InsertMaybe(amc::FFflag& row) __attribute__((nothrow));
 8407// Remove reference to element from hash index. If element is not in hash, do nothing
 8408// func:amc.FDb.ind_fflag.Remove
 8409void                 ind_fflag_Remove(amc::FFflag& row) __attribute__((nothrow));
 8410// Reserve enough room in the hash for N more elements. Return success code.
 8411// func:amc.FDb.ind_fflag.Reserve
 8412void                 ind_fflag_Reserve(int n) __attribute__((nothrow));
 8413
 8414// Allocate memory for new default row.
 8415// If out of memory, process is killed.
 8416// func:amc.FDb.falias.Alloc
 8417amc::FFalias&        falias_Alloc() __attribute__((__warn_unused_result__, nothrow));
 8418// Allocate memory for new element. If out of memory, return NULL.
 8419// func:amc.FDb.falias.AllocMaybe
 8420amc::FFalias*        falias_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 8421// Create new row from struct.
 8422// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 8423// func:amc.FDb.falias.InsertMaybe
 8424amc::FFalias*        falias_InsertMaybe(const dmmeta::Falias &value) __attribute__((nothrow));
 8425// Allocate space for one element. If no memory available, return NULL.
 8426// func:amc.FDb.falias.AllocMem
 8427void*                falias_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 8428// Return true if index is empty
 8429// func:amc.FDb.falias.EmptyQ
 8430bool                 falias_EmptyQ() __attribute__((nothrow, pure));
 8431// Look up row by row id. Return NULL if out of range
 8432// func:amc.FDb.falias.Find
 8433amc::FFalias*        falias_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 8434// Return pointer to last element of array, or NULL if array is empty
 8435// func:amc.FDb.falias.Last
 8436amc::FFalias*        falias_Last() __attribute__((nothrow, pure));
 8437// Return number of items in the pool
 8438// func:amc.FDb.falias.N
 8439i32                  falias_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8440// Remove all elements from Lary
 8441// func:amc.FDb.falias.RemoveAll
 8442void                 falias_RemoveAll() __attribute__((nothrow));
 8443// Delete last element of array. Do nothing if array is empty.
 8444// func:amc.FDb.falias.RemoveLast
 8445void                 falias_RemoveLast() __attribute__((nothrow));
 8446// 'quick' Access row by row id. No bounds checking.
 8447// func:amc.FDb.falias.qFind
 8448amc::FFalias&        falias_qFind(u64 t) __attribute__((nothrow, pure));
 8449// Insert row into all appropriate indices. If error occurs, store error
 8450// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 8451// func:amc.FDb.falias.XrefMaybe
 8452bool                 falias_XrefMaybe(amc::FFalias &row);
 8453
 8454// Allocate memory for new default row.
 8455// If out of memory, process is killed.
 8456// func:amc.FDb.license.Alloc
 8457amc::FLicense&       license_Alloc() __attribute__((__warn_unused_result__, nothrow));
 8458// Allocate memory for new element. If out of memory, return NULL.
 8459// func:amc.FDb.license.AllocMaybe
 8460amc::FLicense*       license_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 8461// Create new row from struct.
 8462// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 8463// func:amc.FDb.license.InsertMaybe
 8464amc::FLicense*       license_InsertMaybe(const dev::License &value) __attribute__((nothrow));
 8465// Allocate space for one element. If no memory available, return NULL.
 8466// func:amc.FDb.license.AllocMem
 8467void*                license_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 8468// Return true if index is empty
 8469// func:amc.FDb.license.EmptyQ
 8470bool                 license_EmptyQ() __attribute__((nothrow, pure));
 8471// Look up row by row id. Return NULL if out of range
 8472// func:amc.FDb.license.Find
 8473amc::FLicense*       license_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 8474// Return pointer to last element of array, or NULL if array is empty
 8475// func:amc.FDb.license.Last
 8476amc::FLicense*       license_Last() __attribute__((nothrow, pure));
 8477// Return number of items in the pool
 8478// func:amc.FDb.license.N
 8479i32                  license_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8480// Remove all elements from Lary
 8481// func:amc.FDb.license.RemoveAll
 8482void                 license_RemoveAll() __attribute__((nothrow));
 8483// Delete last element of array. Do nothing if array is empty.
 8484// func:amc.FDb.license.RemoveLast
 8485void                 license_RemoveLast() __attribute__((nothrow));
 8486// 'quick' Access row by row id. No bounds checking.
 8487// func:amc.FDb.license.qFind
 8488amc::FLicense&       license_qFind(u64 t) __attribute__((nothrow, pure));
 8489// Insert row into all appropriate indices. If error occurs, store error
 8490// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 8491// func:amc.FDb.license.XrefMaybe
 8492bool                 license_XrefMaybe(amc::FLicense &row);
 8493
 8494// Return true if hash is empty
 8495// func:amc.FDb.ind_license.EmptyQ
 8496bool                 ind_license_EmptyQ() __attribute__((nothrow));
 8497// Find row by key. Return NULL if not found.
 8498// func:amc.FDb.ind_license.Find
 8499amc::FLicense*       ind_license_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 8500// Find row by key. If not found, create and x-reference a new row with with this key.
 8501// func:amc.FDb.ind_license.GetOrCreate
 8502amc::FLicense&       ind_license_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 8503// Return number of items in the hash
 8504// func:amc.FDb.ind_license.N
 8505i32                  ind_license_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8506// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 8507// func:amc.FDb.ind_license.InsertMaybe
 8508bool                 ind_license_InsertMaybe(amc::FLicense& row) __attribute__((nothrow));
 8509// Remove reference to element from hash index. If element is not in hash, do nothing
 8510// func:amc.FDb.ind_license.Remove
 8511void                 ind_license_Remove(amc::FLicense& row) __attribute__((nothrow));
 8512// Reserve enough room in the hash for N more elements. Return success code.
 8513// func:amc.FDb.ind_license.Reserve
 8514void                 ind_license_Reserve(int n) __attribute__((nothrow));
 8515
 8516// Return true if index is empty
 8517// func:amc.FDb.c_ssimfile_sorted.EmptyQ
 8518bool                 c_ssimfile_sorted_EmptyQ() __attribute__((nothrow));
 8519// Look up row by row id. Return NULL if out of range
 8520// func:amc.FDb.c_ssimfile_sorted.Find
 8521amc::FSsimfile*      c_ssimfile_sorted_Find(u32 t) __attribute__((__warn_unused_result__, nothrow));
 8522// Return array of pointers
 8523// func:amc.FDb.c_ssimfile_sorted.Getary
 8524algo::aryptr<amc::FSsimfile*> c_ssimfile_sorted_Getary() __attribute__((nothrow));
 8525// Insert pointer to row into array. Row must not already be in array.
 8526// If pointer is already in the array, it may be inserted twice.
 8527// func:amc.FDb.c_ssimfile_sorted.Insert
 8528void                 c_ssimfile_sorted_Insert(amc::FSsimfile& row) __attribute__((nothrow));
 8529// Insert pointer to row in array.
 8530// If row is already in the array, do nothing.
 8531// Return value: whether element was inserted into array.
 8532// func:amc.FDb.c_ssimfile_sorted.InsertMaybe
 8533bool                 c_ssimfile_sorted_InsertMaybe(amc::FSsimfile& row) __attribute__((nothrow));
 8534// Return number of items in the pointer array
 8535// func:amc.FDb.c_ssimfile_sorted.N
 8536i32                  c_ssimfile_sorted_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8537// Find element using linear scan. If element is in array, remove, otherwise do nothing
 8538// func:amc.FDb.c_ssimfile_sorted.Remove
 8539void                 c_ssimfile_sorted_Remove(amc::FSsimfile& row) __attribute__((nothrow));
 8540// Empty the index. (The rows are not deleted)
 8541// func:amc.FDb.c_ssimfile_sorted.RemoveAll
 8542void                 c_ssimfile_sorted_RemoveAll() __attribute__((nothrow));
 8543// Reserve space in index for N more elements;
 8544// func:amc.FDb.c_ssimfile_sorted.Reserve
 8545void                 c_ssimfile_sorted_Reserve(u32 n) __attribute__((nothrow));
 8546// Return reference without bounds checking
 8547// func:amc.FDb.c_ssimfile_sorted.qFind
 8548amc::FSsimfile&      c_ssimfile_sorted_qFind(u32 idx) __attribute__((nothrow));
 8549// True if row is in any ptrary instance
 8550// func:amc.FDb.c_ssimfile_sorted.InAryQ
 8551bool                 c_ssimfile_sorted_InAryQ(amc::FSsimfile& row) __attribute__((nothrow));
 8552// Reference to last element without bounds checking
 8553// func:amc.FDb.c_ssimfile_sorted.qLast
 8554amc::FSsimfile&      c_ssimfile_sorted_qLast() __attribute__((nothrow));
 8555
 8556// Return true if index is empty
 8557// func:amc.FDb.zd_ssimfile_todo.EmptyQ
 8558bool                 zd_ssimfile_todo_EmptyQ() __attribute__((__warn_unused_result__, nothrow, pure));
 8559// If index empty, return NULL. Otherwise return pointer to first element in index
 8560// func:amc.FDb.zd_ssimfile_todo.First
 8561amc::FSsimfile*      zd_ssimfile_todo_First() __attribute__((__warn_unused_result__, nothrow, pure));
 8562// Return true if row is in the linked list, false otherwise
 8563// func:amc.FDb.zd_ssimfile_todo.InLlistQ
 8564bool                 zd_ssimfile_todo_InLlistQ(amc::FSsimfile& row) __attribute__((__warn_unused_result__, nothrow));
 8565// Insert row into linked list. If row is already in linked list, do nothing.
 8566// func:amc.FDb.zd_ssimfile_todo.Insert
 8567void                 zd_ssimfile_todo_Insert(amc::FSsimfile& row) __attribute__((nothrow));
 8568// If index empty, return NULL. Otherwise return pointer to last element in index
 8569// func:amc.FDb.zd_ssimfile_todo.Last
 8570amc::FSsimfile*      zd_ssimfile_todo_Last() __attribute__((__warn_unused_result__, nothrow, pure));
 8571// Return number of items in the linked list
 8572// func:amc.FDb.zd_ssimfile_todo.N
 8573i32                  zd_ssimfile_todo_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8574// Return pointer to next element in the list
 8575// func:amc.FDb.zd_ssimfile_todo.Next
 8576amc::FSsimfile*      zd_ssimfile_todo_Next(amc::FSsimfile &row) __attribute__((__warn_unused_result__, nothrow));
 8577// Return pointer to previous element in the list
 8578// func:amc.FDb.zd_ssimfile_todo.Prev
 8579amc::FSsimfile*      zd_ssimfile_todo_Prev(amc::FSsimfile &row) __attribute__((__warn_unused_result__, nothrow));
 8580// Remove element from index. If element is not in index, do nothing.
 8581// func:amc.FDb.zd_ssimfile_todo.Remove
 8582void                 zd_ssimfile_todo_Remove(amc::FSsimfile& row) __attribute__((nothrow));
 8583// Empty the index. (The rows are not deleted)
 8584// func:amc.FDb.zd_ssimfile_todo.RemoveAll
 8585void                 zd_ssimfile_todo_RemoveAll() __attribute__((nothrow));
 8586// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
 8587// func:amc.FDb.zd_ssimfile_todo.RemoveFirst
 8588amc::FSsimfile*      zd_ssimfile_todo_RemoveFirst() __attribute__((nothrow));
 8589// Return reference to last element in the index. No bounds checking.
 8590// func:amc.FDb.zd_ssimfile_todo.qLast
 8591amc::FSsimfile&      zd_ssimfile_todo_qLast() __attribute__((__warn_unused_result__, nothrow));
 8592
 8593// Allocate memory for new default row.
 8594// If out of memory, process is killed.
 8595// func:amc.FDb.cfast.Alloc
 8596amc::FCfast&         cfast_Alloc() __attribute__((__warn_unused_result__, nothrow));
 8597// Allocate memory for new element. If out of memory, return NULL.
 8598// func:amc.FDb.cfast.AllocMaybe
 8599amc::FCfast*         cfast_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 8600// Create new row from struct.
 8601// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 8602// func:amc.FDb.cfast.InsertMaybe
 8603amc::FCfast*         cfast_InsertMaybe(const dmmeta::Cfast &value) __attribute__((nothrow));
 8604// Allocate space for one element. If no memory available, return NULL.
 8605// func:amc.FDb.cfast.AllocMem
 8606void*                cfast_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 8607// Return true if index is empty
 8608// func:amc.FDb.cfast.EmptyQ
 8609bool                 cfast_EmptyQ() __attribute__((nothrow, pure));
 8610// Look up row by row id. Return NULL if out of range
 8611// func:amc.FDb.cfast.Find
 8612amc::FCfast*         cfast_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 8613// Return pointer to last element of array, or NULL if array is empty
 8614// func:amc.FDb.cfast.Last
 8615amc::FCfast*         cfast_Last() __attribute__((nothrow, pure));
 8616// Return number of items in the pool
 8617// func:amc.FDb.cfast.N
 8618i32                  cfast_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8619// Remove all elements from Lary
 8620// func:amc.FDb.cfast.RemoveAll
 8621void                 cfast_RemoveAll() __attribute__((nothrow));
 8622// Delete last element of array. Do nothing if array is empty.
 8623// func:amc.FDb.cfast.RemoveLast
 8624void                 cfast_RemoveLast() __attribute__((nothrow));
 8625// 'quick' Access row by row id. No bounds checking.
 8626// func:amc.FDb.cfast.qFind
 8627amc::FCfast&         cfast_qFind(u64 t) __attribute__((nothrow, pure));
 8628// Insert row into all appropriate indices. If error occurs, store error
 8629// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 8630// func:amc.FDb.cfast.XrefMaybe
 8631bool                 cfast_XrefMaybe(amc::FCfast &row);
 8632
 8633// Allocate memory for new default row.
 8634// If out of memory, process is killed.
 8635// func:amc.FDb.ffast.Alloc
 8636amc::FFfast&         ffast_Alloc() __attribute__((__warn_unused_result__, nothrow));
 8637// Allocate memory for new element. If out of memory, return NULL.
 8638// func:amc.FDb.ffast.AllocMaybe
 8639amc::FFfast*         ffast_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 8640// Create new row from struct.
 8641// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 8642// func:amc.FDb.ffast.InsertMaybe
 8643amc::FFfast*         ffast_InsertMaybe(const dmmeta::Ffast &value) __attribute__((nothrow));
 8644// Allocate space for one element. If no memory available, return NULL.
 8645// func:amc.FDb.ffast.AllocMem
 8646void*                ffast_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 8647// Return true if index is empty
 8648// func:amc.FDb.ffast.EmptyQ
 8649bool                 ffast_EmptyQ() __attribute__((nothrow, pure));
 8650// Look up row by row id. Return NULL if out of range
 8651// func:amc.FDb.ffast.Find
 8652amc::FFfast*         ffast_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 8653// Return pointer to last element of array, or NULL if array is empty
 8654// func:amc.FDb.ffast.Last
 8655amc::FFfast*         ffast_Last() __attribute__((nothrow, pure));
 8656// Return number of items in the pool
 8657// func:amc.FDb.ffast.N
 8658i32                  ffast_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8659// Remove all elements from Lary
 8660// func:amc.FDb.ffast.RemoveAll
 8661void                 ffast_RemoveAll() __attribute__((nothrow));
 8662// Delete last element of array. Do nothing if array is empty.
 8663// func:amc.FDb.ffast.RemoveLast
 8664void                 ffast_RemoveLast() __attribute__((nothrow));
 8665// 'quick' Access row by row id. No bounds checking.
 8666// func:amc.FDb.ffast.qFind
 8667amc::FFfast&         ffast_qFind(u64 t) __attribute__((nothrow, pure));
 8668// Insert row into all appropriate indices. If error occurs, store error
 8669// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 8670// func:amc.FDb.ffast.XrefMaybe
 8671bool                 ffast_XrefMaybe(amc::FFfast &row);
 8672
 8673// Allocate memory for new default row.
 8674// If out of memory, process is killed.
 8675// func:amc.FDb.pmaskfld_member.Alloc
 8676amc::FPmaskfldMember& pmaskfld_member_Alloc() __attribute__((__warn_unused_result__, nothrow));
 8677// Allocate memory for new element. If out of memory, return NULL.
 8678// func:amc.FDb.pmaskfld_member.AllocMaybe
 8679amc::FPmaskfldMember* pmaskfld_member_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 8680// Create new row from struct.
 8681// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 8682// func:amc.FDb.pmaskfld_member.InsertMaybe
 8683amc::FPmaskfldMember* pmaskfld_member_InsertMaybe(const dmmeta::PmaskfldMember &value) __attribute__((nothrow));
 8684// Allocate space for one element. If no memory available, return NULL.
 8685// func:amc.FDb.pmaskfld_member.AllocMem
 8686void*                pmaskfld_member_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 8687// Return true if index is empty
 8688// func:amc.FDb.pmaskfld_member.EmptyQ
 8689bool                 pmaskfld_member_EmptyQ() __attribute__((nothrow, pure));
 8690// Look up row by row id. Return NULL if out of range
 8691// func:amc.FDb.pmaskfld_member.Find
 8692amc::FPmaskfldMember* pmaskfld_member_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 8693// Return pointer to last element of array, or NULL if array is empty
 8694// func:amc.FDb.pmaskfld_member.Last
 8695amc::FPmaskfldMember* pmaskfld_member_Last() __attribute__((nothrow, pure));
 8696// Return number of items in the pool
 8697// func:amc.FDb.pmaskfld_member.N
 8698i32                  pmaskfld_member_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8699// Remove all elements from Lary
 8700// func:amc.FDb.pmaskfld_member.RemoveAll
 8701void                 pmaskfld_member_RemoveAll() __attribute__((nothrow));
 8702// Delete last element of array. Do nothing if array is empty.
 8703// func:amc.FDb.pmaskfld_member.RemoveLast
 8704void                 pmaskfld_member_RemoveLast() __attribute__((nothrow));
 8705// 'quick' Access row by row id. No bounds checking.
 8706// func:amc.FDb.pmaskfld_member.qFind
 8707amc::FPmaskfldMember& pmaskfld_member_qFind(u64 t) __attribute__((nothrow, pure));
 8708// Insert row into all appropriate indices. If error occurs, store error
 8709// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 8710// func:amc.FDb.pmaskfld_member.XrefMaybe
 8711bool                 pmaskfld_member_XrefMaybe(amc::FPmaskfldMember &row);
 8712
 8713// Return true if hash is empty
 8714// func:amc.FDb.ind_pmaskfld.EmptyQ
 8715bool                 ind_pmaskfld_EmptyQ() __attribute__((nothrow));
 8716// Find row by key. Return NULL if not found.
 8717// func:amc.FDb.ind_pmaskfld.Find
 8718amc::FPmaskfld*      ind_pmaskfld_Find(const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
 8719// Find row by key. If not found, create and x-reference a new row with with this key.
 8720// func:amc.FDb.ind_pmaskfld.GetOrCreate
 8721amc::FPmaskfld&      ind_pmaskfld_GetOrCreate(const algo::strptr& key) __attribute__((nothrow));
 8722// Return number of items in the hash
 8723// func:amc.FDb.ind_pmaskfld.N
 8724i32                  ind_pmaskfld_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8725// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
 8726// func:amc.FDb.ind_pmaskfld.InsertMaybe
 8727bool                 ind_pmaskfld_InsertMaybe(amc::FPmaskfld& row) __attribute__((nothrow));
 8728// Remove reference to element from hash index. If element is not in hash, do nothing
 8729// func:amc.FDb.ind_pmaskfld.Remove
 8730void                 ind_pmaskfld_Remove(amc::FPmaskfld& row) __attribute__((nothrow));
 8731// Reserve enough room in the hash for N more elements. Return success code.
 8732// func:amc.FDb.ind_pmaskfld.Reserve
 8733void                 ind_pmaskfld_Reserve(int n) __attribute__((nothrow));
 8734
 8735// Allocate memory for new default row.
 8736// If out of memory, process is killed.
 8737// func:amc.FDb.ssimsort.Alloc
 8738amc::FSsimsort&      ssimsort_Alloc() __attribute__((__warn_unused_result__, nothrow));
 8739// Allocate memory for new element. If out of memory, return NULL.
 8740// func:amc.FDb.ssimsort.AllocMaybe
 8741amc::FSsimsort*      ssimsort_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
 8742// Create new row from struct.
 8743// Return pointer to new element, or NULL if insertion failed (due to out-of-memory, duplicate key, etc)
 8744// func:amc.FDb.ssimsort.InsertMaybe
 8745amc::FSsimsort*      ssimsort_InsertMaybe(const dmmeta::Ssimsort &value) __attribute__((nothrow));
 8746// Allocate space for one element. If no memory available, return NULL.
 8747// func:amc.FDb.ssimsort.AllocMem
 8748void*                ssimsort_AllocMem() __attribute__((__warn_unused_result__, nothrow));
 8749// Return true if index is empty
 8750// func:amc.FDb.ssimsort.EmptyQ
 8751bool                 ssimsort_EmptyQ() __attribute__((nothrow, pure));
 8752// Look up row by row id. Return NULL if out of range
 8753// func:amc.FDb.ssimsort.Find
 8754amc::FSsimsort*      ssimsort_Find(u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
 8755// Return pointer to last element of array, or NULL if array is empty
 8756// func:amc.FDb.ssimsort.Last
 8757amc::FSsimsort*      ssimsort_Last() __attribute__((nothrow, pure));
 8758// Return number of items in the pool
 8759// func:amc.FDb.ssimsort.N
 8760i32                  ssimsort_N() __attribute__((__warn_unused_result__, nothrow, pure));
 8761// Remove all elements from Lary
 8762// func:amc.FDb.ssimsort.RemoveAll
 8763void                 ssimsort_RemoveAll() __attribute__((nothrow));
 8764// Delete last element of array. Do nothing if array is empty.
 8765// func:amc.FDb.ssimsort.RemoveLast
 8766void                 ssimsort_RemoveLast() __attribute__((nothrow));
 8767// 'quick' Access row by row id. No bounds checking.
 8768// func:amc.FDb.ssimsort.qFind
 8769amc::FSsimsort&      ssimsort_qFind(u64 t) __attribute__((nothrow, pure));
 8770// Insert row into all appropriate indices. If error occurs, store error
 8771// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
 8772// func:amc.FDb.ssimsort.XrefMaybe
 8773bool                 ssimsort_XrefMaybe(amc::FSsimsort &row);
 8774
 8775// cursor points to valid item
 8776// func:amc.FDb.fsort_curs.Reset
 8777void                 _db_fsort_curs_Reset(_db_fsort_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8778// cursor points to valid item
 8779// func:amc.FDb.fsort_curs.ValidQ
 8780bool                 _db_fsort_curs_ValidQ(_db_fsort_curs &curs) __attribute__((nothrow));
 8781// proceed to next item
 8782// func:amc.FDb.fsort_curs.Next
 8783void                 _db_fsort_curs_Next(_db_fsort_curs &curs) __attribute__((nothrow));
 8784// item access
 8785// func:amc.FDb.fsort_curs.Access
 8786amc::FFsort&         _db_fsort_curs_Access(_db_fsort_curs &curs) __attribute__((nothrow));
 8787// cursor points to valid item
 8788// func:amc.FDb.dispfilter_curs.Reset
 8789void                 _db_dispfilter_curs_Reset(_db_dispfilter_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8790// cursor points to valid item
 8791// func:amc.FDb.dispfilter_curs.ValidQ
 8792bool                 _db_dispfilter_curs_ValidQ(_db_dispfilter_curs &curs) __attribute__((nothrow));
 8793// proceed to next item
 8794// func:amc.FDb.dispfilter_curs.Next
 8795void                 _db_dispfilter_curs_Next(_db_dispfilter_curs &curs) __attribute__((nothrow));
 8796// item access
 8797// func:amc.FDb.dispfilter_curs.Access
 8798amc::FDispfilter&    _db_dispfilter_curs_Access(_db_dispfilter_curs &curs) __attribute__((nothrow));
 8799// cursor points to valid item
 8800// func:amc.FDb.usertracefld_curs.Reset
 8801void                 _db_usertracefld_curs_Reset(_db_usertracefld_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8802// cursor points to valid item
 8803// func:amc.FDb.usertracefld_curs.ValidQ
 8804bool                 _db_usertracefld_curs_ValidQ(_db_usertracefld_curs &curs) __attribute__((nothrow));
 8805// proceed to next item
 8806// func:amc.FDb.usertracefld_curs.Next
 8807void                 _db_usertracefld_curs_Next(_db_usertracefld_curs &curs) __attribute__((nothrow));
 8808// item access
 8809// func:amc.FDb.usertracefld_curs.Access
 8810amc::FUsertracefld&  _db_usertracefld_curs_Access(_db_usertracefld_curs &curs) __attribute__((nothrow));
 8811// cursor points to valid item
 8812// func:amc.FDb.cfmt_curs.Reset
 8813void                 _db_cfmt_curs_Reset(_db_cfmt_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8814// cursor points to valid item
 8815// func:amc.FDb.cfmt_curs.ValidQ
 8816bool                 _db_cfmt_curs_ValidQ(_db_cfmt_curs &curs) __attribute__((nothrow));
 8817// proceed to next item
 8818// func:amc.FDb.cfmt_curs.Next
 8819void                 _db_cfmt_curs_Next(_db_cfmt_curs &curs) __attribute__((nothrow));
 8820// item access
 8821// func:amc.FDb.cfmt_curs.Access
 8822amc::FCfmt&          _db_cfmt_curs_Access(_db_cfmt_curs &curs) __attribute__((nothrow));
 8823// cursor points to valid item
 8824// func:amc.FDb.dispatch_curs.Reset
 8825void                 _db_dispatch_curs_Reset(_db_dispatch_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8826// cursor points to valid item
 8827// func:amc.FDb.dispatch_curs.ValidQ
 8828bool                 _db_dispatch_curs_ValidQ(_db_dispatch_curs &curs) __attribute__((nothrow));
 8829// proceed to next item
 8830// func:amc.FDb.dispatch_curs.Next
 8831void                 _db_dispatch_curs_Next(_db_dispatch_curs &curs) __attribute__((nothrow));
 8832// item access
 8833// func:amc.FDb.dispatch_curs.Access
 8834amc::FDispatch&      _db_dispatch_curs_Access(_db_dispatch_curs &curs) __attribute__((nothrow));
 8835// cursor points to valid item
 8836// func:amc.FDb.dispatch_msg_curs.Reset
 8837void                 _db_dispatch_msg_curs_Reset(_db_dispatch_msg_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8838// cursor points to valid item
 8839// func:amc.FDb.dispatch_msg_curs.ValidQ
 8840bool                 _db_dispatch_msg_curs_ValidQ(_db_dispatch_msg_curs &curs) __attribute__((nothrow));
 8841// proceed to next item
 8842// func:amc.FDb.dispatch_msg_curs.Next
 8843void                 _db_dispatch_msg_curs_Next(_db_dispatch_msg_curs &curs) __attribute__((nothrow));
 8844// item access
 8845// func:amc.FDb.dispatch_msg_curs.Access
 8846amc::FDispatchmsg&   _db_dispatch_msg_curs_Access(_db_dispatch_msg_curs &curs) __attribute__((nothrow));
 8847// cursor points to valid item
 8848// func:amc.FDb.ctype_curs.Reset
 8849void                 _db_ctype_curs_Reset(_db_ctype_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8850// cursor points to valid item
 8851// func:amc.FDb.ctype_curs.ValidQ
 8852bool                 _db_ctype_curs_ValidQ(_db_ctype_curs &curs) __attribute__((nothrow));
 8853// proceed to next item
 8854// func:amc.FDb.ctype_curs.Next
 8855void                 _db_ctype_curs_Next(_db_ctype_curs &curs) __attribute__((nothrow));
 8856// item access
 8857// func:amc.FDb.ctype_curs.Access
 8858amc::FCtype&         _db_ctype_curs_Access(_db_ctype_curs &curs) __attribute__((nothrow));
 8859// cursor points to valid item
 8860// func:amc.FDb.field_curs.Reset
 8861void                 _db_field_curs_Reset(_db_field_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8862// cursor points to valid item
 8863// func:amc.FDb.field_curs.ValidQ
 8864bool                 _db_field_curs_ValidQ(_db_field_curs &curs) __attribute__((nothrow));
 8865// proceed to next item
 8866// func:amc.FDb.field_curs.Next
 8867void                 _db_field_curs_Next(_db_field_curs &curs) __attribute__((nothrow));
 8868// item access
 8869// func:amc.FDb.field_curs.Access
 8870amc::FField&         _db_field_curs_Access(_db_field_curs &curs) __attribute__((nothrow));
 8871// cursor points to valid item
 8872// func:amc.FDb.basepool_curs.Reset
 8873void                 _db_basepool_curs_Reset(_db_basepool_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8874// cursor points to valid item
 8875// func:amc.FDb.basepool_curs.ValidQ
 8876bool                 _db_basepool_curs_ValidQ(_db_basepool_curs &curs) __attribute__((nothrow));
 8877// proceed to next item
 8878// func:amc.FDb.basepool_curs.Next
 8879void                 _db_basepool_curs_Next(_db_basepool_curs &curs) __attribute__((nothrow));
 8880// item access
 8881// func:amc.FDb.basepool_curs.Access
 8882amc::FBasepool&      _db_basepool_curs_Access(_db_basepool_curs &curs) __attribute__((nothrow));
 8883// cursor points to valid item
 8884// func:amc.FDb.llist_curs.Reset
 8885void                 _db_llist_curs_Reset(_db_llist_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8886// cursor points to valid item
 8887// func:amc.FDb.llist_curs.ValidQ
 8888bool                 _db_llist_curs_ValidQ(_db_llist_curs &curs) __attribute__((nothrow));
 8889// proceed to next item
 8890// func:amc.FDb.llist_curs.Next
 8891void                 _db_llist_curs_Next(_db_llist_curs &curs) __attribute__((nothrow));
 8892// item access
 8893// func:amc.FDb.llist_curs.Access
 8894amc::FLlist&         _db_llist_curs_Access(_db_llist_curs &curs) __attribute__((nothrow));
 8895// cursor points to valid item
 8896// func:amc.FDb.anonfld_curs.Reset
 8897void                 _db_anonfld_curs_Reset(_db_anonfld_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8898// cursor points to valid item
 8899// func:amc.FDb.anonfld_curs.ValidQ
 8900bool                 _db_anonfld_curs_ValidQ(_db_anonfld_curs &curs) __attribute__((nothrow));
 8901// proceed to next item
 8902// func:amc.FDb.anonfld_curs.Next
 8903void                 _db_anonfld_curs_Next(_db_anonfld_curs &curs) __attribute__((nothrow));
 8904// item access
 8905// func:amc.FDb.anonfld_curs.Access
 8906amc::FAnonfld&       _db_anonfld_curs_Access(_db_anonfld_curs &curs) __attribute__((nothrow));
 8907// cursor points to valid item
 8908// func:amc.FDb.xref_curs.Reset
 8909void                 _db_xref_curs_Reset(_db_xref_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8910// cursor points to valid item
 8911// func:amc.FDb.xref_curs.ValidQ
 8912bool                 _db_xref_curs_ValidQ(_db_xref_curs &curs) __attribute__((nothrow));
 8913// proceed to next item
 8914// func:amc.FDb.xref_curs.Next
 8915void                 _db_xref_curs_Next(_db_xref_curs &curs) __attribute__((nothrow));
 8916// item access
 8917// func:amc.FDb.xref_curs.Access
 8918amc::FXref&          _db_xref_curs_Access(_db_xref_curs &curs) __attribute__((nothrow));
 8919// cursor points to valid item
 8920// func:amc.FDb.ns_curs.Reset
 8921void                 _db_ns_curs_Reset(_db_ns_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8922// cursor points to valid item
 8923// func:amc.FDb.ns_curs.ValidQ
 8924bool                 _db_ns_curs_ValidQ(_db_ns_curs &curs) __attribute__((nothrow));
 8925// proceed to next item
 8926// func:amc.FDb.ns_curs.Next
 8927void                 _db_ns_curs_Next(_db_ns_curs &curs) __attribute__((nothrow));
 8928// item access
 8929// func:amc.FDb.ns_curs.Access
 8930amc::FNs&            _db_ns_curs_Access(_db_ns_curs &curs) __attribute__((nothrow));
 8931// cursor points to valid item
 8932// func:amc.FDb.pnew_curs.Reset
 8933void                 _db_pnew_curs_Reset(_db_pnew_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8934// cursor points to valid item
 8935// func:amc.FDb.pnew_curs.ValidQ
 8936bool                 _db_pnew_curs_ValidQ(_db_pnew_curs &curs) __attribute__((nothrow));
 8937// proceed to next item
 8938// func:amc.FDb.pnew_curs.Next
 8939void                 _db_pnew_curs_Next(_db_pnew_curs &curs) __attribute__((nothrow));
 8940// item access
 8941// func:amc.FDb.pnew_curs.Access
 8942amc::FPnew&          _db_pnew_curs_Access(_db_pnew_curs &curs) __attribute__((nothrow));
 8943// cursor points to valid item
 8944// func:amc.FDb.fldoffset_curs.Reset
 8945void                 _db_fldoffset_curs_Reset(_db_fldoffset_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8946// cursor points to valid item
 8947// func:amc.FDb.fldoffset_curs.ValidQ
 8948bool                 _db_fldoffset_curs_ValidQ(_db_fldoffset_curs &curs) __attribute__((nothrow));
 8949// proceed to next item
 8950// func:amc.FDb.fldoffset_curs.Next
 8951void                 _db_fldoffset_curs_Next(_db_fldoffset_curs &curs) __attribute__((nothrow));
 8952// item access
 8953// func:amc.FDb.fldoffset_curs.Access
 8954amc::FFldoffset&     _db_fldoffset_curs_Access(_db_fldoffset_curs &curs) __attribute__((nothrow));
 8955// cursor points to valid item
 8956// func:amc.FDb.typefld_curs.Reset
 8957void                 _db_typefld_curs_Reset(_db_typefld_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8958// cursor points to valid item
 8959// func:amc.FDb.typefld_curs.ValidQ
 8960bool                 _db_typefld_curs_ValidQ(_db_typefld_curs &curs) __attribute__((nothrow));
 8961// proceed to next item
 8962// func:amc.FDb.typefld_curs.Next
 8963void                 _db_typefld_curs_Next(_db_typefld_curs &curs) __attribute__((nothrow));
 8964// item access
 8965// func:amc.FDb.typefld_curs.Access
 8966amc::FTypefld&       _db_typefld_curs_Access(_db_typefld_curs &curs) __attribute__((nothrow));
 8967// cursor points to valid item
 8968// func:amc.FDb.lenfld_curs.Reset
 8969void                 _db_lenfld_curs_Reset(_db_lenfld_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8970// cursor points to valid item
 8971// func:amc.FDb.lenfld_curs.ValidQ
 8972bool                 _db_lenfld_curs_ValidQ(_db_lenfld_curs &curs) __attribute__((nothrow));
 8973// proceed to next item
 8974// func:amc.FDb.lenfld_curs.Next
 8975void                 _db_lenfld_curs_Next(_db_lenfld_curs &curs) __attribute__((nothrow));
 8976// item access
 8977// func:amc.FDb.lenfld_curs.Access
 8978amc::FLenfld&        _db_lenfld_curs_Access(_db_lenfld_curs &curs) __attribute__((nothrow));
 8979// cursor points to valid item
 8980// func:amc.FDb.bltin_curs.Reset
 8981void                 _db_bltin_curs_Reset(_db_bltin_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8982// cursor points to valid item
 8983// func:amc.FDb.bltin_curs.ValidQ
 8984bool                 _db_bltin_curs_ValidQ(_db_bltin_curs &curs) __attribute__((nothrow));
 8985// proceed to next item
 8986// func:amc.FDb.bltin_curs.Next
 8987void                 _db_bltin_curs_Next(_db_bltin_curs &curs) __attribute__((nothrow));
 8988// item access
 8989// func:amc.FDb.bltin_curs.Access
 8990amc::FBltin&         _db_bltin_curs_Access(_db_bltin_curs &curs) __attribute__((nothrow));
 8991// cursor points to valid item
 8992// func:amc.FDb.static_tuple_curs.Reset
 8993void                 _db_static_tuple_curs_Reset(_db_static_tuple_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 8994// cursor points to valid item
 8995// func:amc.FDb.static_tuple_curs.ValidQ
 8996bool                 _db_static_tuple_curs_ValidQ(_db_static_tuple_curs &curs) __attribute__((nothrow));
 8997// proceed to next item
 8998// func:amc.FDb.static_tuple_curs.Next
 8999void                 _db_static_tuple_curs_Next(_db_static_tuple_curs &curs) __attribute__((nothrow));
 9000// item access
 9001// func:amc.FDb.static_tuple_curs.Access
 9002amc::FStatictuple&   _db_static_tuple_curs_Access(_db_static_tuple_curs &curs) __attribute__((nothrow));
 9003// cursor points to valid item
 9004// func:amc.FDb.msgtype_curs.Reset
 9005void                 _db_msgtype_curs_Reset(_db_msgtype_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9006// cursor points to valid item
 9007// func:amc.FDb.msgtype_curs.ValidQ
 9008bool                 _db_msgtype_curs_ValidQ(_db_msgtype_curs &curs) __attribute__((nothrow));
 9009// proceed to next item
 9010// func:amc.FDb.msgtype_curs.Next
 9011void                 _db_msgtype_curs_Next(_db_msgtype_curs &curs) __attribute__((nothrow));
 9012// item access
 9013// func:amc.FDb.msgtype_curs.Access
 9014amc::FMsgtype&       _db_msgtype_curs_Access(_db_msgtype_curs &curs) __attribute__((nothrow));
 9015// cursor points to valid item
 9016// func:amc.FDb.gconst_curs.Reset
 9017void                 _db_gconst_curs_Reset(_db_gconst_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9018// cursor points to valid item
 9019// func:amc.FDb.gconst_curs.ValidQ
 9020bool                 _db_gconst_curs_ValidQ(_db_gconst_curs &curs) __attribute__((nothrow));
 9021// proceed to next item
 9022// func:amc.FDb.gconst_curs.Next
 9023void                 _db_gconst_curs_Next(_db_gconst_curs &curs) __attribute__((nothrow));
 9024// item access
 9025// func:amc.FDb.gconst_curs.Access
 9026amc::FGconst&        _db_gconst_curs_Access(_db_gconst_curs &curs) __attribute__((nothrow));
 9027// cursor points to valid item
 9028// func:amc.FDb.gstatic_curs.Reset
 9029void                 _db_gstatic_curs_Reset(_db_gstatic_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9030// cursor points to valid item
 9031// func:amc.FDb.gstatic_curs.ValidQ
 9032bool                 _db_gstatic_curs_ValidQ(_db_gstatic_curs &curs) __attribute__((nothrow));
 9033// proceed to next item
 9034// func:amc.FDb.gstatic_curs.Next
 9035void                 _db_gstatic_curs_Next(_db_gstatic_curs &curs) __attribute__((nothrow));
 9036// item access
 9037// func:amc.FDb.gstatic_curs.Access
 9038amc::FGstatic&       _db_gstatic_curs_Access(_db_gstatic_curs &curs) __attribute__((nothrow));
 9039// cursor points to valid item
 9040// func:amc.FDb.thash_curs.Reset
 9041void                 _db_thash_curs_Reset(_db_thash_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9042// cursor points to valid item
 9043// func:amc.FDb.thash_curs.ValidQ
 9044bool                 _db_thash_curs_ValidQ(_db_thash_curs &curs) __attribute__((nothrow));
 9045// proceed to next item
 9046// func:amc.FDb.thash_curs.Next
 9047void                 _db_thash_curs_Next(_db_thash_curs &curs) __attribute__((nothrow));
 9048// item access
 9049// func:amc.FDb.thash_curs.Access
 9050amc::FThash&         _db_thash_curs_Access(_db_thash_curs &curs) __attribute__((nothrow));
 9051// cursor points to valid item
 9052// func:amc.FDb.func_curs.Reset
 9053void                 _db_func_curs_Reset(_db_func_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9054// cursor points to valid item
 9055// func:amc.FDb.func_curs.ValidQ
 9056bool                 _db_func_curs_ValidQ(_db_func_curs &curs) __attribute__((nothrow));
 9057// proceed to next item
 9058// func:amc.FDb.func_curs.Next
 9059void                 _db_func_curs_Next(_db_func_curs &curs) __attribute__((nothrow));
 9060// item access
 9061// func:amc.FDb.func_curs.Access
 9062amc::FFunc&          _db_func_curs_Access(_db_func_curs &curs) __attribute__((nothrow));
 9063// cursor points to valid item
 9064// func:amc.FDb.smallstr_curs.Reset
 9065void                 _db_smallstr_curs_Reset(_db_smallstr_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9066// cursor points to valid item
 9067// func:amc.FDb.smallstr_curs.ValidQ
 9068bool                 _db_smallstr_curs_ValidQ(_db_smallstr_curs &curs) __attribute__((nothrow));
 9069// proceed to next item
 9070// func:amc.FDb.smallstr_curs.Next
 9071void                 _db_smallstr_curs_Next(_db_smallstr_curs &curs) __attribute__((nothrow));
 9072// item access
 9073// func:amc.FDb.smallstr_curs.Access
 9074amc::FSmallstr&      _db_smallstr_curs_Access(_db_smallstr_curs &curs) __attribute__((nothrow));
 9075// cursor points to valid item
 9076// func:amc.FDb.numstr_curs.Reset
 9077void                 _db_numstr_curs_Reset(_db_numstr_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9078// cursor points to valid item
 9079// func:amc.FDb.numstr_curs.ValidQ
 9080bool                 _db_numstr_curs_ValidQ(_db_numstr_curs &curs) __attribute__((nothrow));
 9081// proceed to next item
 9082// func:amc.FDb.numstr_curs.Next
 9083void                 _db_numstr_curs_Next(_db_numstr_curs &curs) __attribute__((nothrow));
 9084// item access
 9085// func:amc.FDb.numstr_curs.Access
 9086amc::FNumstr&        _db_numstr_curs_Access(_db_numstr_curs &curs) __attribute__((nothrow));
 9087// cursor points to valid item
 9088// func:amc.FDb.main_curs.Reset
 9089void                 _db_main_curs_Reset(_db_main_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9090// cursor points to valid item
 9091// func:amc.FDb.main_curs.ValidQ
 9092bool                 _db_main_curs_ValidQ(_db_main_curs &curs) __attribute__((nothrow));
 9093// proceed to next item
 9094// func:amc.FDb.main_curs.Next
 9095void                 _db_main_curs_Next(_db_main_curs &curs) __attribute__((nothrow));
 9096// item access
 9097// func:amc.FDb.main_curs.Access
 9098amc::FMain&          _db_main_curs_Access(_db_main_curs &curs) __attribute__((nothrow));
 9099// cursor points to valid item
 9100// func:amc.FDb.reftype_curs.Reset
 9101void                 _db_reftype_curs_Reset(_db_reftype_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9102// cursor points to valid item
 9103// func:amc.FDb.reftype_curs.ValidQ
 9104bool                 _db_reftype_curs_ValidQ(_db_reftype_curs &curs) __attribute__((nothrow));
 9105// proceed to next item
 9106// func:amc.FDb.reftype_curs.Next
 9107void                 _db_reftype_curs_Next(_db_reftype_curs &curs) __attribute__((nothrow));
 9108// item access
 9109// func:amc.FDb.reftype_curs.Access
 9110amc::FReftype&       _db_reftype_curs_Access(_db_reftype_curs &curs) __attribute__((nothrow));
 9111// cursor points to valid item
 9112// func:amc.FDb.cpptype_curs.Reset
 9113void                 _db_cpptype_curs_Reset(_db_cpptype_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9114// cursor points to valid item
 9115// func:amc.FDb.cpptype_curs.ValidQ
 9116bool                 _db_cpptype_curs_ValidQ(_db_cpptype_curs &curs) __attribute__((nothrow));
 9117// proceed to next item
 9118// func:amc.FDb.cpptype_curs.Next
 9119void                 _db_cpptype_curs_Next(_db_cpptype_curs &curs) __attribute__((nothrow));
 9120// item access
 9121// func:amc.FDb.cpptype_curs.Access
 9122amc::FCpptype&       _db_cpptype_curs_Access(_db_cpptype_curs &curs) __attribute__((nothrow));
 9123// cursor points to valid item
 9124// func:amc.FDb.inlary_curs.Reset
 9125void                 _db_inlary_curs_Reset(_db_inlary_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9126// cursor points to valid item
 9127// func:amc.FDb.inlary_curs.ValidQ
 9128bool                 _db_inlary_curs_ValidQ(_db_inlary_curs &curs) __attribute__((nothrow));
 9129// proceed to next item
 9130// func:amc.FDb.inlary_curs.Next
 9131void                 _db_inlary_curs_Next(_db_inlary_curs &curs) __attribute__((nothrow));
 9132// item access
 9133// func:amc.FDb.inlary_curs.Access
 9134amc::FInlary&        _db_inlary_curs_Access(_db_inlary_curs &curs) __attribute__((nothrow));
 9135// cursor points to valid item
 9136// func:amc.FDb.tary_curs.Reset
 9137void                 _db_tary_curs_Reset(_db_tary_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9138// cursor points to valid item
 9139// func:amc.FDb.tary_curs.ValidQ
 9140bool                 _db_tary_curs_ValidQ(_db_tary_curs &curs) __attribute__((nothrow));
 9141// proceed to next item
 9142// func:amc.FDb.tary_curs.Next
 9143void                 _db_tary_curs_Next(_db_tary_curs &curs) __attribute__((nothrow));
 9144// item access
 9145// func:amc.FDb.tary_curs.Access
 9146amc::FTary&          _db_tary_curs_Access(_db_tary_curs &curs) __attribute__((nothrow));
 9147// cursor points to valid item
 9148// func:amc.FDb.cppfunc_curs.Reset
 9149void                 _db_cppfunc_curs_Reset(_db_cppfunc_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9150// cursor points to valid item
 9151// func:amc.FDb.cppfunc_curs.ValidQ
 9152bool                 _db_cppfunc_curs_ValidQ(_db_cppfunc_curs &curs) __attribute__((nothrow));
 9153// proceed to next item
 9154// func:amc.FDb.cppfunc_curs.Next
 9155void                 _db_cppfunc_curs_Next(_db_cppfunc_curs &curs) __attribute__((nothrow));
 9156// item access
 9157// func:amc.FDb.cppfunc_curs.Access
 9158amc::FCppfunc&       _db_cppfunc_curs_Access(_db_cppfunc_curs &curs) __attribute__((nothrow));
 9159// cursor points to valid item
 9160// func:amc.FDb.rowid_curs.Reset
 9161void                 _db_rowid_curs_Reset(_db_rowid_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9162// cursor points to valid item
 9163// func:amc.FDb.rowid_curs.ValidQ
 9164bool                 _db_rowid_curs_ValidQ(_db_rowid_curs &curs) __attribute__((nothrow));
 9165// proceed to next item
 9166// func:amc.FDb.rowid_curs.Next
 9167void                 _db_rowid_curs_Next(_db_rowid_curs &curs) __attribute__((nothrow));
 9168// item access
 9169// func:amc.FDb.rowid_curs.Access
 9170amc::FRowid&         _db_rowid_curs_Access(_db_rowid_curs &curs) __attribute__((nothrow));
 9171// cursor points to valid item
 9172// func:amc.FDb.cascdel_curs.Reset
 9173void                 _db_cascdel_curs_Reset(_db_cascdel_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9174// cursor points to valid item
 9175// func:amc.FDb.cascdel_curs.ValidQ
 9176bool                 _db_cascdel_curs_ValidQ(_db_cascdel_curs &curs) __attribute__((nothrow));
 9177// proceed to next item
 9178// func:amc.FDb.cascdel_curs.Next
 9179void                 _db_cascdel_curs_Next(_db_cascdel_curs &curs) __attribute__((nothrow));
 9180// item access
 9181// func:amc.FDb.cascdel_curs.Access
 9182amc::FCascdel&       _db_cascdel_curs_Access(_db_cascdel_curs &curs) __attribute__((nothrow));
 9183// cursor points to valid item
 9184// func:amc.FDb.substr_curs.Reset
 9185void                 _db_substr_curs_Reset(_db_substr_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9186// cursor points to valid item
 9187// func:amc.FDb.substr_curs.ValidQ
 9188bool                 _db_substr_curs_ValidQ(_db_substr_curs &curs) __attribute__((nothrow));
 9189// proceed to next item
 9190// func:amc.FDb.substr_curs.Next
 9191void                 _db_substr_curs_Next(_db_substr_curs &curs) __attribute__((nothrow));
 9192// item access
 9193// func:amc.FDb.substr_curs.Access
 9194amc::FSubstr&        _db_substr_curs_Access(_db_substr_curs &curs) __attribute__((nothrow));
 9195// cursor points to valid item
 9196// func:amc.FDb.bitfld_curs.Reset
 9197void                 _db_bitfld_curs_Reset(_db_bitfld_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9198// cursor points to valid item
 9199// func:amc.FDb.bitfld_curs.ValidQ
 9200bool                 _db_bitfld_curs_ValidQ(_db_bitfld_curs &curs) __attribute__((nothrow));
 9201// proceed to next item
 9202// func:amc.FDb.bitfld_curs.Next
 9203void                 _db_bitfld_curs_Next(_db_bitfld_curs &curs) __attribute__((nothrow));
 9204// item access
 9205// func:amc.FDb.bitfld_curs.Access
 9206amc::FBitfld&        _db_bitfld_curs_Access(_db_bitfld_curs &curs) __attribute__((nothrow));
 9207// cursor points to valid item
 9208// func:amc.FDb.ssimfile_curs.Reset
 9209void                 _db_ssimfile_curs_Reset(_db_ssimfile_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9210// cursor points to valid item
 9211// func:amc.FDb.ssimfile_curs.ValidQ
 9212bool                 _db_ssimfile_curs_ValidQ(_db_ssimfile_curs &curs) __attribute__((nothrow));
 9213// proceed to next item
 9214// func:amc.FDb.ssimfile_curs.Next
 9215void                 _db_ssimfile_curs_Next(_db_ssimfile_curs &curs) __attribute__((nothrow));
 9216// item access
 9217// func:amc.FDb.ssimfile_curs.Access
 9218amc::FSsimfile&      _db_ssimfile_curs_Access(_db_ssimfile_curs &curs) __attribute__((nothrow));
 9219// cursor points to valid item
 9220// func:amc.FDb.pack_curs.Reset
 9221void                 _db_pack_curs_Reset(_db_pack_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9222// cursor points to valid item
 9223// func:amc.FDb.pack_curs.ValidQ
 9224bool                 _db_pack_curs_ValidQ(_db_pack_curs &curs) __attribute__((nothrow));
 9225// proceed to next item
 9226// func:amc.FDb.pack_curs.Next
 9227void                 _db_pack_curs_Next(_db_pack_curs &curs) __attribute__((nothrow));
 9228// item access
 9229// func:amc.FDb.pack_curs.Access
 9230amc::FPack&          _db_pack_curs_Access(_db_pack_curs &curs) __attribute__((nothrow));
 9231// cursor points to valid item
 9232// func:amc.FDb.ptrary_curs.Reset
 9233void                 _db_ptrary_curs_Reset(_db_ptrary_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9234// cursor points to valid item
 9235// func:amc.FDb.ptrary_curs.ValidQ
 9236bool                 _db_ptrary_curs_ValidQ(_db_ptrary_curs &curs) __attribute__((nothrow));
 9237// proceed to next item
 9238// func:amc.FDb.ptrary_curs.Next
 9239void                 _db_ptrary_curs_Next(_db_ptrary_curs &curs) __attribute__((nothrow));
 9240// item access
 9241// func:amc.FDb.ptrary_curs.Access
 9242amc::FPtrary&        _db_ptrary_curs_Access(_db_ptrary_curs &curs) __attribute__((nothrow));
 9243// func:amc.FDb.c_ctype_sorted_curs.Reset
 9244void                 _db_c_ctype_sorted_curs_Reset(_db_c_ctype_sorted_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9245// cursor points to valid item
 9246// func:amc.FDb.c_ctype_sorted_curs.ValidQ
 9247bool                 _db_c_ctype_sorted_curs_ValidQ(_db_c_ctype_sorted_curs &curs) __attribute__((nothrow));
 9248// proceed to next item
 9249// func:amc.FDb.c_ctype_sorted_curs.Next
 9250void                 _db_c_ctype_sorted_curs_Next(_db_c_ctype_sorted_curs &curs) __attribute__((nothrow));
 9251// item access
 9252// func:amc.FDb.c_ctype_sorted_curs.Access
 9253amc::FCtype&         _db_c_ctype_sorted_curs_Access(_db_c_ctype_sorted_curs &curs) __attribute__((nothrow));
 9254// cursor points to valid item
 9255// func:amc.FDb.enumstr_curs.Reset
 9256void                 _db_enumstr_curs_Reset(_db_enumstr_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9257// cursor points to valid item
 9258// func:amc.FDb.enumstr_curs.ValidQ
 9259bool                 _db_enumstr_curs_ValidQ(_db_enumstr_curs &curs) __attribute__((nothrow));
 9260// proceed to next item
 9261// func:amc.FDb.enumstr_curs.Next
 9262void                 _db_enumstr_curs_Next(_db_enumstr_curs &curs) __attribute__((nothrow));
 9263// item access
 9264// func:amc.FDb.enumstr_curs.Access
 9265amc::FEnumstr&       _db_enumstr_curs_Access(_db_enumstr_curs &curs) __attribute__((nothrow));
 9266// cursor points to valid item
 9267// func:amc.FDb.enumstr_len_curs.Reset
 9268void                 _db_enumstr_len_curs_Reset(_db_enumstr_len_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9269// cursor points to valid item
 9270// func:amc.FDb.enumstr_len_curs.ValidQ
 9271bool                 _db_enumstr_len_curs_ValidQ(_db_enumstr_len_curs &curs) __attribute__((nothrow));
 9272// proceed to next item
 9273// func:amc.FDb.enumstr_len_curs.Next
 9274void                 _db_enumstr_len_curs_Next(_db_enumstr_len_curs &curs) __attribute__((nothrow));
 9275// item access
 9276// func:amc.FDb.enumstr_len_curs.Access
 9277amc::FEnumstrLen&    _db_enumstr_len_curs_Access(_db_enumstr_len_curs &curs) __attribute__((nothrow));
 9278// func:amc.FDb.bh_enumstr_len_curs.Reserve
 9279void                 _db_bh_enumstr_len_curs_Reserve(_db_bh_enumstr_len_curs &curs, int n);
 9280// Reset cursor. If HEAP is non-empty, add its top element to CURS.
 9281// func:amc.FDb.bh_enumstr_len_curs.Reset
 9282void                 _db_bh_enumstr_len_curs_Reset(_db_bh_enumstr_len_curs &curs, amc::FDb &parent);
 9283// Advance cursor.
 9284// func:amc.FDb.bh_enumstr_len_curs.Next
 9285void                 _db_bh_enumstr_len_curs_Next(_db_bh_enumstr_len_curs &curs);
 9286// Access current element. If not more elements, return NULL
 9287// func:amc.FDb.bh_enumstr_len_curs.Access
 9288amc::FEnumstrLen&    _db_bh_enumstr_len_curs_Access(_db_bh_enumstr_len_curs &curs) __attribute__((nothrow));
 9289// Return true if Access() will return non-NULL.
 9290// func:amc.FDb.bh_enumstr_len_curs.ValidQ
 9291bool                 _db_bh_enumstr_len_curs_ValidQ(_db_bh_enumstr_len_curs &curs) __attribute__((nothrow));
 9292// cursor points to valid item
 9293// func:amc.FDb.fbitset_curs.Reset
 9294void                 _db_fbitset_curs_Reset(_db_fbitset_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9295// cursor points to valid item
 9296// func:amc.FDb.fbitset_curs.ValidQ
 9297bool                 _db_fbitset_curs_ValidQ(_db_fbitset_curs &curs) __attribute__((nothrow));
 9298// proceed to next item
 9299// func:amc.FDb.fbitset_curs.Next
 9300void                 _db_fbitset_curs_Next(_db_fbitset_curs &curs) __attribute__((nothrow));
 9301// item access
 9302// func:amc.FDb.fbitset_curs.Access
 9303amc::FFbitset&       _db_fbitset_curs_Access(_db_fbitset_curs &curs) __attribute__((nothrow));
 9304// cursor points to valid item
 9305// func:amc.FDb.fcleanup_curs.Reset
 9306void                 _db_fcleanup_curs_Reset(_db_fcleanup_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9307// cursor points to valid item
 9308// func:amc.FDb.fcleanup_curs.ValidQ
 9309bool                 _db_fcleanup_curs_ValidQ(_db_fcleanup_curs &curs) __attribute__((nothrow));
 9310// proceed to next item
 9311// func:amc.FDb.fcleanup_curs.Next
 9312void                 _db_fcleanup_curs_Next(_db_fcleanup_curs &curs) __attribute__((nothrow));
 9313// item access
 9314// func:amc.FDb.fcleanup_curs.Access
 9315amc::FFcleanup&      _db_fcleanup_curs_Access(_db_fcleanup_curs &curs) __attribute__((nothrow));
 9316// cursor points to valid item
 9317// func:amc.FDb.fdec_curs.Reset
 9318void                 _db_fdec_curs_Reset(_db_fdec_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9319// cursor points to valid item
 9320// func:amc.FDb.fdec_curs.ValidQ
 9321bool                 _db_fdec_curs_ValidQ(_db_fdec_curs &curs) __attribute__((nothrow));
 9322// proceed to next item
 9323// func:amc.FDb.fdec_curs.Next
 9324void                 _db_fdec_curs_Next(_db_fdec_curs &curs) __attribute__((nothrow));
 9325// item access
 9326// func:amc.FDb.fdec_curs.Access
 9327amc::FFdec&          _db_fdec_curs_Access(_db_fdec_curs &curs) __attribute__((nothrow));
 9328// cursor points to valid item
 9329// func:amc.FDb.fconst_curs.Reset
 9330void                 _db_fconst_curs_Reset(_db_fconst_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9331// cursor points to valid item
 9332// func:amc.FDb.fconst_curs.ValidQ
 9333bool                 _db_fconst_curs_ValidQ(_db_fconst_curs &curs) __attribute__((nothrow));
 9334// proceed to next item
 9335// func:amc.FDb.fconst_curs.Next
 9336void                 _db_fconst_curs_Next(_db_fconst_curs &curs) __attribute__((nothrow));
 9337// item access
 9338// func:amc.FDb.fconst_curs.Access
 9339amc::FFconst&        _db_fconst_curs_Access(_db_fconst_curs &curs) __attribute__((nothrow));
 9340// func:amc.FDb.c_ns_sorted_curs.Reset
 9341void                 _db_c_ns_sorted_curs_Reset(_db_c_ns_sorted_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9342// cursor points to valid item
 9343// func:amc.FDb.c_ns_sorted_curs.ValidQ
 9344bool                 _db_c_ns_sorted_curs_ValidQ(_db_c_ns_sorted_curs &curs) __attribute__((nothrow));
 9345// proceed to next item
 9346// func:amc.FDb.c_ns_sorted_curs.Next
 9347void                 _db_c_ns_sorted_curs_Next(_db_c_ns_sorted_curs &curs) __attribute__((nothrow));
 9348// item access
 9349// func:amc.FDb.c_ns_sorted_curs.Access
 9350amc::FNs&            _db_c_ns_sorted_curs_Access(_db_c_ns_sorted_curs &curs) __attribute__((nothrow));
 9351// cursor points to valid item
 9352// func:amc.FDb.finput_curs.Reset
 9353void                 _db_finput_curs_Reset(_db_finput_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9354// cursor points to valid item
 9355// func:amc.FDb.finput_curs.ValidQ
 9356bool                 _db_finput_curs_ValidQ(_db_finput_curs &curs) __attribute__((nothrow));
 9357// proceed to next item
 9358// func:amc.FDb.finput_curs.Next
 9359void                 _db_finput_curs_Next(_db_finput_curs &curs) __attribute__((nothrow));
 9360// item access
 9361// func:amc.FDb.finput_curs.Access
 9362amc::FFinput&        _db_finput_curs_Access(_db_finput_curs &curs) __attribute__((nothrow));
 9363// cursor points to valid item
 9364// func:amc.FDb.foutput_curs.Reset
 9365void                 _db_foutput_curs_Reset(_db_foutput_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9366// cursor points to valid item
 9367// func:amc.FDb.foutput_curs.ValidQ
 9368bool                 _db_foutput_curs_ValidQ(_db_foutput_curs &curs) __attribute__((nothrow));
 9369// proceed to next item
 9370// func:amc.FDb.foutput_curs.Next
 9371void                 _db_foutput_curs_Next(_db_foutput_curs &curs) __attribute__((nothrow));
 9372// item access
 9373// func:amc.FDb.foutput_curs.Access
 9374amc::FFoutput&       _db_foutput_curs_Access(_db_foutput_curs &curs) __attribute__((nothrow));
 9375// cursor points to valid item
 9376// func:amc.FDb.fbuf_curs.Reset
 9377void                 _db_fbuf_curs_Reset(_db_fbuf_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9378// cursor points to valid item
 9379// func:amc.FDb.fbuf_curs.ValidQ
 9380bool                 _db_fbuf_curs_ValidQ(_db_fbuf_curs &curs) __attribute__((nothrow));
 9381// proceed to next item
 9382// func:amc.FDb.fbuf_curs.Next
 9383void                 _db_fbuf_curs_Next(_db_fbuf_curs &curs) __attribute__((nothrow));
 9384// item access
 9385// func:amc.FDb.fbuf_curs.Access
 9386amc::FFbuf&          _db_fbuf_curs_Access(_db_fbuf_curs &curs) __attribute__((nothrow));
 9387// cursor points to valid item
 9388// func:amc.FDb.chash_curs.Reset
 9389void                 _db_chash_curs_Reset(_db_chash_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9390// cursor points to valid item
 9391// func:amc.FDb.chash_curs.ValidQ
 9392bool                 _db_chash_curs_ValidQ(_db_chash_curs &curs) __attribute__((nothrow));
 9393// proceed to next item
 9394// func:amc.FDb.chash_curs.Next
 9395void                 _db_chash_curs_Next(_db_chash_curs &curs) __attribute__((nothrow));
 9396// item access
 9397// func:amc.FDb.chash_curs.Access
 9398amc::FChash&         _db_chash_curs_Access(_db_chash_curs &curs) __attribute__((nothrow));
 9399// cursor points to valid item
 9400// func:amc.FDb.ccmp_curs.Reset
 9401void                 _db_ccmp_curs_Reset(_db_ccmp_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9402// cursor points to valid item
 9403// func:amc.FDb.ccmp_curs.ValidQ
 9404bool                 _db_ccmp_curs_ValidQ(_db_ccmp_curs &curs) __attribute__((nothrow));
 9405// proceed to next item
 9406// func:amc.FDb.ccmp_curs.Next
 9407void                 _db_ccmp_curs_Next(_db_ccmp_curs &curs) __attribute__((nothrow));
 9408// item access
 9409// func:amc.FDb.ccmp_curs.Access
 9410amc::FCcmp&          _db_ccmp_curs_Access(_db_ccmp_curs &curs) __attribute__((nothrow));
 9411// cursor points to valid item
 9412// func:amc.FDb.fbigend_curs.Reset
 9413void                 _db_fbigend_curs_Reset(_db_fbigend_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9414// cursor points to valid item
 9415// func:amc.FDb.fbigend_curs.ValidQ
 9416bool                 _db_fbigend_curs_ValidQ(_db_fbigend_curs &curs) __attribute__((nothrow));
 9417// proceed to next item
 9418// func:amc.FDb.fbigend_curs.Next
 9419void                 _db_fbigend_curs_Next(_db_fbigend_curs &curs) __attribute__((nothrow));
 9420// item access
 9421// func:amc.FDb.fbigend_curs.Access
 9422amc::FFbigend&       _db_fbigend_curs_Access(_db_fbigend_curs &curs) __attribute__((nothrow));
 9423// cursor points to valid item
 9424// func:amc.FDb.zsl_ctype_pack_tran_curs.Reset
 9425void                 _db_zsl_ctype_pack_tran_curs_Reset(_db_zsl_ctype_pack_tran_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9426// cursor points to valid item
 9427// func:amc.FDb.zsl_ctype_pack_tran_curs.ValidQ
 9428bool                 _db_zsl_ctype_pack_tran_curs_ValidQ(_db_zsl_ctype_pack_tran_curs &curs) __attribute__((nothrow));
 9429// proceed to next item
 9430// func:amc.FDb.zsl_ctype_pack_tran_curs.Next
 9431void                 _db_zsl_ctype_pack_tran_curs_Next(_db_zsl_ctype_pack_tran_curs &curs) __attribute__((nothrow));
 9432// item access
 9433// func:amc.FDb.zsl_ctype_pack_tran_curs.Access
 9434amc::FCtype&         _db_zsl_ctype_pack_tran_curs_Access(_db_zsl_ctype_pack_tran_curs &curs) __attribute__((nothrow));
 9435// cursor points to valid item
 9436// func:amc.FDb.cstr_curs.Reset
 9437void                 _db_cstr_curs_Reset(_db_cstr_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9438// cursor points to valid item
 9439// func:amc.FDb.cstr_curs.ValidQ
 9440bool                 _db_cstr_curs_ValidQ(_db_cstr_curs &curs) __attribute__((nothrow));
 9441// proceed to next item
 9442// func:amc.FDb.cstr_curs.Next
 9443void                 _db_cstr_curs_Next(_db_cstr_curs &curs) __attribute__((nothrow));
 9444// item access
 9445// func:amc.FDb.cstr_curs.Access
 9446amc::FCstr&          _db_cstr_curs_Access(_db_cstr_curs &curs) __attribute__((nothrow));
 9447// cursor points to valid item
 9448// func:amc.FDb.listtype_curs.Reset
 9449void                 _db_listtype_curs_Reset(_db_listtype_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9450// cursor points to valid item
 9451// func:amc.FDb.listtype_curs.ValidQ
 9452bool                 _db_listtype_curs_ValidQ(_db_listtype_curs &curs) __attribute__((nothrow));
 9453// proceed to next item
 9454// func:amc.FDb.listtype_curs.Next
 9455void                 _db_listtype_curs_Next(_db_listtype_curs &curs) __attribute__((nothrow));
 9456// item access
 9457// func:amc.FDb.listtype_curs.Access
 9458amc::FListtype&      _db_listtype_curs_Access(_db_listtype_curs &curs) __attribute__((nothrow));
 9459// cursor points to valid item
 9460// func:amc.FDb.fstep_curs.Reset
 9461void                 _db_fstep_curs_Reset(_db_fstep_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9462// cursor points to valid item
 9463// func:amc.FDb.fstep_curs.ValidQ
 9464bool                 _db_fstep_curs_ValidQ(_db_fstep_curs &curs) __attribute__((nothrow));
 9465// proceed to next item
 9466// func:amc.FDb.fstep_curs.Next
 9467void                 _db_fstep_curs_Next(_db_fstep_curs &curs) __attribute__((nothrow));
 9468// item access
 9469// func:amc.FDb.fstep_curs.Access
 9470amc::FFstep&         _db_fstep_curs_Access(_db_fstep_curs &curs) __attribute__((nothrow));
 9471// cursor points to valid item
 9472// func:amc.FDb.cextern_curs.Reset
 9473void                 _db_cextern_curs_Reset(_db_cextern_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9474// cursor points to valid item
 9475// func:amc.FDb.cextern_curs.ValidQ
 9476bool                 _db_cextern_curs_ValidQ(_db_cextern_curs &curs) __attribute__((nothrow));
 9477// proceed to next item
 9478// func:amc.FDb.cextern_curs.Next
 9479void                 _db_cextern_curs_Next(_db_cextern_curs &curs) __attribute__((nothrow));
 9480// item access
 9481// func:amc.FDb.cextern_curs.Access
 9482amc::FCextern&       _db_cextern_curs_Access(_db_cextern_curs &curs) __attribute__((nothrow));
 9483// cursor points to valid item
 9484// func:amc.FDb.fdelay_curs.Reset
 9485void                 _db_fdelay_curs_Reset(_db_fdelay_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9486// cursor points to valid item
 9487// func:amc.FDb.fdelay_curs.ValidQ
 9488bool                 _db_fdelay_curs_ValidQ(_db_fdelay_curs &curs) __attribute__((nothrow));
 9489// proceed to next item
 9490// func:amc.FDb.fdelay_curs.Next
 9491void                 _db_fdelay_curs_Next(_db_fdelay_curs &curs) __attribute__((nothrow));
 9492// item access
 9493// func:amc.FDb.fdelay_curs.Access
 9494amc::FFdelay&        _db_fdelay_curs_Access(_db_fdelay_curs &curs) __attribute__((nothrow));
 9495// cursor points to valid item
 9496// func:amc.FDb.disptrace_curs.Reset
 9497void                 _db_disptrace_curs_Reset(_db_disptrace_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9498// cursor points to valid item
 9499// func:amc.FDb.disptrace_curs.ValidQ
 9500bool                 _db_disptrace_curs_ValidQ(_db_disptrace_curs &curs) __attribute__((nothrow));
 9501// proceed to next item
 9502// func:amc.FDb.disptrace_curs.Next
 9503void                 _db_disptrace_curs_Next(_db_disptrace_curs &curs) __attribute__((nothrow));
 9504// item access
 9505// func:amc.FDb.disptrace_curs.Access
 9506amc::FDisptrace&     _db_disptrace_curs_Access(_db_disptrace_curs &curs) __attribute__((nothrow));
 9507// cursor points to valid item
 9508// func:amc.FDb.tracefld_curs.Reset
 9509void                 _db_tracefld_curs_Reset(_db_tracefld_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9510// cursor points to valid item
 9511// func:amc.FDb.tracefld_curs.ValidQ
 9512bool                 _db_tracefld_curs_ValidQ(_db_tracefld_curs &curs) __attribute__((nothrow));
 9513// proceed to next item
 9514// func:amc.FDb.tracefld_curs.Next
 9515void                 _db_tracefld_curs_Next(_db_tracefld_curs &curs) __attribute__((nothrow));
 9516// item access
 9517// func:amc.FDb.tracefld_curs.Access
 9518amc::FTracefld&      _db_tracefld_curs_Access(_db_tracefld_curs &curs) __attribute__((nothrow));
 9519// cursor points to valid item
 9520// func:amc.FDb.tracerec_curs.Reset
 9521void                 _db_tracerec_curs_Reset(_db_tracerec_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9522// cursor points to valid item
 9523// func:amc.FDb.tracerec_curs.ValidQ
 9524bool                 _db_tracerec_curs_ValidQ(_db_tracerec_curs &curs) __attribute__((nothrow));
 9525// proceed to next item
 9526// func:amc.FDb.tracerec_curs.Next
 9527void                 _db_tracerec_curs_Next(_db_tracerec_curs &curs) __attribute__((nothrow));
 9528// item access
 9529// func:amc.FDb.tracerec_curs.Access
 9530amc::FTracerec&      _db_tracerec_curs_Access(_db_tracerec_curs &curs) __attribute__((nothrow));
 9531// cursor points to valid item
 9532// func:amc.FDb.dispsig_curs.Reset
 9533void                 _db_dispsig_curs_Reset(_db_dispsig_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9534// cursor points to valid item
 9535// func:amc.FDb.dispsig_curs.ValidQ
 9536bool                 _db_dispsig_curs_ValidQ(_db_dispsig_curs &curs) __attribute__((nothrow));
 9537// proceed to next item
 9538// func:amc.FDb.dispsig_curs.Next
 9539void                 _db_dispsig_curs_Next(_db_dispsig_curs &curs) __attribute__((nothrow));
 9540// item access
 9541// func:amc.FDb.dispsig_curs.Access
 9542amc::FDispsig&       _db_dispsig_curs_Access(_db_dispsig_curs &curs) __attribute__((nothrow));
 9543// func:amc.FDb.c_dispsig_sorted_curs.Reset
 9544void                 _db_c_dispsig_sorted_curs_Reset(_db_c_dispsig_sorted_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9545// cursor points to valid item
 9546// func:amc.FDb.c_dispsig_sorted_curs.ValidQ
 9547bool                 _db_c_dispsig_sorted_curs_ValidQ(_db_c_dispsig_sorted_curs &curs) __attribute__((nothrow));
 9548// proceed to next item
 9549// func:amc.FDb.c_dispsig_sorted_curs.Next
 9550void                 _db_c_dispsig_sorted_curs_Next(_db_c_dispsig_sorted_curs &curs) __attribute__((nothrow));
 9551// item access
 9552// func:amc.FDb.c_dispsig_sorted_curs.Access
 9553amc::FDispsig&       _db_c_dispsig_sorted_curs_Access(_db_c_dispsig_sorted_curs &curs) __attribute__((nothrow));
 9554// cursor points to valid item
 9555// func:amc.FDb.zs_sig_visit_curs.Reset
 9556void                 _db_zs_sig_visit_curs_Reset(_db_zs_sig_visit_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9557// cursor points to valid item
 9558// func:amc.FDb.zs_sig_visit_curs.ValidQ
 9559bool                 _db_zs_sig_visit_curs_ValidQ(_db_zs_sig_visit_curs &curs) __attribute__((nothrow));
 9560// proceed to next item
 9561// func:amc.FDb.zs_sig_visit_curs.Next
 9562void                 _db_zs_sig_visit_curs_Next(_db_zs_sig_visit_curs &curs) __attribute__((nothrow));
 9563// item access
 9564// func:amc.FDb.zs_sig_visit_curs.Access
 9565amc::FCtype&         _db_zs_sig_visit_curs_Access(_db_zs_sig_visit_curs &curs) __attribute__((nothrow));
 9566// cursor points to valid item
 9567// func:amc.FDb.target_curs.Reset
 9568void                 _db_target_curs_Reset(_db_target_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9569// cursor points to valid item
 9570// func:amc.FDb.target_curs.ValidQ
 9571bool                 _db_target_curs_ValidQ(_db_target_curs &curs) __attribute__((nothrow));
 9572// proceed to next item
 9573// func:amc.FDb.target_curs.Next
 9574void                 _db_target_curs_Next(_db_target_curs &curs) __attribute__((nothrow));
 9575// item access
 9576// func:amc.FDb.target_curs.Access
 9577amc::FTarget&        _db_target_curs_Access(_db_target_curs &curs) __attribute__((nothrow));
 9578// cursor points to valid item
 9579// func:amc.FDb.targdep_curs.Reset
 9580void                 _db_targdep_curs_Reset(_db_targdep_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9581// cursor points to valid item
 9582// func:amc.FDb.targdep_curs.ValidQ
 9583bool                 _db_targdep_curs_ValidQ(_db_targdep_curs &curs) __attribute__((nothrow));
 9584// proceed to next item
 9585// func:amc.FDb.targdep_curs.Next
 9586void                 _db_targdep_curs_Next(_db_targdep_curs &curs) __attribute__((nothrow));
 9587// item access
 9588// func:amc.FDb.targdep_curs.Access
 9589amc::FTargdep&       _db_targdep_curs_Access(_db_targdep_curs &curs) __attribute__((nothrow));
 9590// cursor points to valid item
 9591// func:amc.FDb.dispctx_curs.Reset
 9592void                 _db_dispctx_curs_Reset(_db_dispctx_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9593// cursor points to valid item
 9594// func:amc.FDb.dispctx_curs.ValidQ
 9595bool                 _db_dispctx_curs_ValidQ(_db_dispctx_curs &curs) __attribute__((nothrow));
 9596// proceed to next item
 9597// func:amc.FDb.dispctx_curs.Next
 9598void                 _db_dispctx_curs_Next(_db_dispctx_curs &curs) __attribute__((nothrow));
 9599// item access
 9600// func:amc.FDb.dispctx_curs.Access
 9601amc::FDispctx&       _db_dispctx_curs_Access(_db_dispctx_curs &curs) __attribute__((nothrow));
 9602// cursor points to valid item
 9603// func:amc.FDb.pmaskfld_curs.Reset
 9604void                 _db_pmaskfld_curs_Reset(_db_pmaskfld_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9605// cursor points to valid item
 9606// func:amc.FDb.pmaskfld_curs.ValidQ
 9607bool                 _db_pmaskfld_curs_ValidQ(_db_pmaskfld_curs &curs) __attribute__((nothrow));
 9608// proceed to next item
 9609// func:amc.FDb.pmaskfld_curs.Next
 9610void                 _db_pmaskfld_curs_Next(_db_pmaskfld_curs &curs) __attribute__((nothrow));
 9611// item access
 9612// func:amc.FDb.pmaskfld_curs.Access
 9613amc::FPmaskfld&      _db_pmaskfld_curs_Access(_db_pmaskfld_curs &curs) __attribute__((nothrow));
 9614// cursor points to valid item
 9615// func:amc.FDb.fwddecl_curs.Reset
 9616void                 _db_fwddecl_curs_Reset(_db_fwddecl_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9617// cursor points to valid item
 9618// func:amc.FDb.fwddecl_curs.ValidQ
 9619bool                 _db_fwddecl_curs_ValidQ(_db_fwddecl_curs &curs) __attribute__((nothrow));
 9620// proceed to next item
 9621// func:amc.FDb.fwddecl_curs.Next
 9622void                 _db_fwddecl_curs_Next(_db_fwddecl_curs &curs) __attribute__((nothrow));
 9623// item access
 9624// func:amc.FDb.fwddecl_curs.Access
 9625amc::FFwddecl&       _db_fwddecl_curs_Access(_db_fwddecl_curs &curs) __attribute__((nothrow));
 9626// cursor points to valid item
 9627// func:amc.FDb.tfunc_curs.Reset
 9628void                 _db_tfunc_curs_Reset(_db_tfunc_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9629// cursor points to valid item
 9630// func:amc.FDb.tfunc_curs.ValidQ
 9631bool                 _db_tfunc_curs_ValidQ(_db_tfunc_curs &curs) __attribute__((nothrow));
 9632// proceed to next item
 9633// func:amc.FDb.tfunc_curs.Next
 9634void                 _db_tfunc_curs_Next(_db_tfunc_curs &curs) __attribute__((nothrow));
 9635// item access
 9636// func:amc.FDb.tfunc_curs.Access
 9637amc::FTfunc&         _db_tfunc_curs_Access(_db_tfunc_curs &curs) __attribute__((nothrow));
 9638// cursor points to valid item
 9639// func:amc.FDb.gen_curs.Reset
 9640void                 _db_gen_curs_Reset(_db_gen_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9641// cursor points to valid item
 9642// func:amc.FDb.gen_curs.ValidQ
 9643bool                 _db_gen_curs_ValidQ(_db_gen_curs &curs) __attribute__((nothrow));
 9644// proceed to next item
 9645// func:amc.FDb.gen_curs.Next
 9646void                 _db_gen_curs_Next(_db_gen_curs &curs) __attribute__((nothrow));
 9647// item access
 9648// func:amc.FDb.gen_curs.Access
 9649amc::FGen&           _db_gen_curs_Access(_db_gen_curs &curs) __attribute__((nothrow));
 9650// cursor points to valid item
 9651// func:amc.FDb.fregx_curs.Reset
 9652void                 _db_fregx_curs_Reset(_db_fregx_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9653// cursor points to valid item
 9654// func:amc.FDb.fregx_curs.ValidQ
 9655bool                 _db_fregx_curs_ValidQ(_db_fregx_curs &curs) __attribute__((nothrow));
 9656// proceed to next item
 9657// func:amc.FDb.fregx_curs.Next
 9658void                 _db_fregx_curs_Next(_db_fregx_curs &curs) __attribute__((nothrow));
 9659// item access
 9660// func:amc.FDb.fregx_curs.Access
 9661amc::FFregx&         _db_fregx_curs_Access(_db_fregx_curs &curs) __attribute__((nothrow));
 9662// cursor points to valid item
 9663// func:amc.FDb.tclass_curs.Reset
 9664void                 _db_tclass_curs_Reset(_db_tclass_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9665// cursor points to valid item
 9666// func:amc.FDb.tclass_curs.ValidQ
 9667bool                 _db_tclass_curs_ValidQ(_db_tclass_curs &curs) __attribute__((nothrow));
 9668// proceed to next item
 9669// func:amc.FDb.tclass_curs.Next
 9670void                 _db_tclass_curs_Next(_db_tclass_curs &curs) __attribute__((nothrow));
 9671// item access
 9672// func:amc.FDb.tclass_curs.Access
 9673amc::FTclass&        _db_tclass_curs_Access(_db_tclass_curs &curs) __attribute__((nothrow));
 9674// cursor points to valid item
 9675// func:amc.FDb.fcmp_curs.Reset
 9676void                 _db_fcmp_curs_Reset(_db_fcmp_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9677// cursor points to valid item
 9678// func:amc.FDb.fcmp_curs.ValidQ
 9679bool                 _db_fcmp_curs_ValidQ(_db_fcmp_curs &curs) __attribute__((nothrow));
 9680// proceed to next item
 9681// func:amc.FDb.fcmp_curs.Next
 9682void                 _db_fcmp_curs_Next(_db_fcmp_curs &curs) __attribute__((nothrow));
 9683// item access
 9684// func:amc.FDb.fcmp_curs.Access
 9685amc::FFcmp&          _db_fcmp_curs_Access(_db_fcmp_curs &curs) __attribute__((nothrow));
 9686// cursor points to valid item
 9687// func:amc.FDb.fcast_curs.Reset
 9688void                 _db_fcast_curs_Reset(_db_fcast_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9689// cursor points to valid item
 9690// func:amc.FDb.fcast_curs.ValidQ
 9691bool                 _db_fcast_curs_ValidQ(_db_fcast_curs &curs) __attribute__((nothrow));
 9692// proceed to next item
 9693// func:amc.FDb.fcast_curs.Next
 9694void                 _db_fcast_curs_Next(_db_fcast_curs &curs) __attribute__((nothrow));
 9695// item access
 9696// func:amc.FDb.fcast_curs.Access
 9697amc::FFcast&         _db_fcast_curs_Access(_db_fcast_curs &curs) __attribute__((nothrow));
 9698// cursor points to valid item
 9699// func:amc.FDb.noxref_curs.Reset
 9700void                 _db_noxref_curs_Reset(_db_noxref_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9701// cursor points to valid item
 9702// func:amc.FDb.noxref_curs.ValidQ
 9703bool                 _db_noxref_curs_ValidQ(_db_noxref_curs &curs) __attribute__((nothrow));
 9704// proceed to next item
 9705// func:amc.FDb.noxref_curs.Next
 9706void                 _db_noxref_curs_Next(_db_noxref_curs &curs) __attribute__((nothrow));
 9707// item access
 9708// func:amc.FDb.noxref_curs.Access
 9709amc::FNoxref&        _db_noxref_curs_Access(_db_noxref_curs &curs) __attribute__((nothrow));
 9710// cursor points to valid item
 9711// func:amc.FDb.nocascdel_curs.Reset
 9712void                 _db_nocascdel_curs_Reset(_db_nocascdel_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9713// cursor points to valid item
 9714// func:amc.FDb.nocascdel_curs.ValidQ
 9715bool                 _db_nocascdel_curs_ValidQ(_db_nocascdel_curs &curs) __attribute__((nothrow));
 9716// proceed to next item
 9717// func:amc.FDb.nocascdel_curs.Next
 9718void                 _db_nocascdel_curs_Next(_db_nocascdel_curs &curs) __attribute__((nothrow));
 9719// item access
 9720// func:amc.FDb.nocascdel_curs.Access
 9721amc::FNocascdel&     _db_nocascdel_curs_Access(_db_nocascdel_curs &curs) __attribute__((nothrow));
 9722// cursor points to valid item
 9723// func:amc.FDb.cafter_curs.Reset
 9724void                 _db_cafter_curs_Reset(_db_cafter_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9725// cursor points to valid item
 9726// func:amc.FDb.cafter_curs.ValidQ
 9727bool                 _db_cafter_curs_ValidQ(_db_cafter_curs &curs) __attribute__((nothrow));
 9728// proceed to next item
 9729// func:amc.FDb.cafter_curs.Next
 9730void                 _db_cafter_curs_Next(_db_cafter_curs &curs) __attribute__((nothrow));
 9731// item access
 9732// func:amc.FDb.cafter_curs.Access
 9733amc::FCafter&        _db_cafter_curs_Access(_db_cafter_curs &curs) __attribute__((nothrow));
 9734// cursor points to valid item
 9735// func:amc.FDb.csize_curs.Reset
 9736void                 _db_csize_curs_Reset(_db_csize_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9737// cursor points to valid item
 9738// func:amc.FDb.csize_curs.ValidQ
 9739bool                 _db_csize_curs_ValidQ(_db_csize_curs &curs) __attribute__((nothrow));
 9740// proceed to next item
 9741// func:amc.FDb.csize_curs.Next
 9742void                 _db_csize_curs_Next(_db_csize_curs &curs) __attribute__((nothrow));
 9743// item access
 9744// func:amc.FDb.csize_curs.Access
 9745amc::FCsize&         _db_csize_curs_Access(_db_csize_curs &curs) __attribute__((nothrow));
 9746// cursor points to valid item
 9747// func:amc.FDb.nsx_curs.Reset
 9748void                 _db_nsx_curs_Reset(_db_nsx_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9749// cursor points to valid item
 9750// func:amc.FDb.nsx_curs.ValidQ
 9751bool                 _db_nsx_curs_ValidQ(_db_nsx_curs &curs) __attribute__((nothrow));
 9752// proceed to next item
 9753// func:amc.FDb.nsx_curs.Next
 9754void                 _db_nsx_curs_Next(_db_nsx_curs &curs) __attribute__((nothrow));
 9755// item access
 9756// func:amc.FDb.nsx_curs.Access
 9757amc::FNsx&           _db_nsx_curs_Access(_db_nsx_curs &curs) __attribute__((nothrow));
 9758// cursor points to valid item
 9759// func:amc.FDb.fcompact_curs.Reset
 9760void                 _db_fcompact_curs_Reset(_db_fcompact_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9761// cursor points to valid item
 9762// func:amc.FDb.fcompact_curs.ValidQ
 9763bool                 _db_fcompact_curs_ValidQ(_db_fcompact_curs &curs) __attribute__((nothrow));
 9764// proceed to next item
 9765// func:amc.FDb.fcompact_curs.Next
 9766void                 _db_fcompact_curs_Next(_db_fcompact_curs &curs) __attribute__((nothrow));
 9767// item access
 9768// func:amc.FDb.fcompact_curs.Access
 9769amc::FFcompact&      _db_fcompact_curs_Access(_db_fcompact_curs &curs) __attribute__((nothrow));
 9770// cursor points to valid item
 9771// func:amc.FDb.findrem_curs.Reset
 9772void                 _db_findrem_curs_Reset(_db_findrem_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9773// cursor points to valid item
 9774// func:amc.FDb.findrem_curs.ValidQ
 9775bool                 _db_findrem_curs_ValidQ(_db_findrem_curs &curs) __attribute__((nothrow));
 9776// proceed to next item
 9777// func:amc.FDb.findrem_curs.Next
 9778void                 _db_findrem_curs_Next(_db_findrem_curs &curs) __attribute__((nothrow));
 9779// item access
 9780// func:amc.FDb.findrem_curs.Access
 9781amc::FFindrem&       _db_findrem_curs_Access(_db_findrem_curs &curs) __attribute__((nothrow));
 9782// cursor points to valid item
 9783// func:amc.FDb.fcurs_curs.Reset
 9784void                 _db_fcurs_curs_Reset(_db_fcurs_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9785// cursor points to valid item
 9786// func:amc.FDb.fcurs_curs.ValidQ
 9787bool                 _db_fcurs_curs_ValidQ(_db_fcurs_curs &curs) __attribute__((nothrow));
 9788// proceed to next item
 9789// func:amc.FDb.fcurs_curs.Next
 9790void                 _db_fcurs_curs_Next(_db_fcurs_curs &curs) __attribute__((nothrow));
 9791// item access
 9792// func:amc.FDb.fcurs_curs.Access
 9793amc::FFcurs&         _db_fcurs_curs_Access(_db_fcurs_curs &curs) __attribute__((nothrow));
 9794// cursor points to valid item
 9795// func:amc.FDb.cdflt_curs.Reset
 9796void                 _db_cdflt_curs_Reset(_db_cdflt_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9797// cursor points to valid item
 9798// func:amc.FDb.cdflt_curs.ValidQ
 9799bool                 _db_cdflt_curs_ValidQ(_db_cdflt_curs &curs) __attribute__((nothrow));
 9800// proceed to next item
 9801// func:amc.FDb.cdflt_curs.Next
 9802void                 _db_cdflt_curs_Next(_db_cdflt_curs &curs) __attribute__((nothrow));
 9803// item access
 9804// func:amc.FDb.cdflt_curs.Access
 9805amc::FCdflt&         _db_cdflt_curs_Access(_db_cdflt_curs &curs) __attribute__((nothrow));
 9806// cursor points to valid item
 9807// func:amc.FDb.argvtype_curs.Reset
 9808void                 _db_argvtype_curs_Reset(_db_argvtype_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9809// cursor points to valid item
 9810// func:amc.FDb.argvtype_curs.ValidQ
 9811bool                 _db_argvtype_curs_ValidQ(_db_argvtype_curs &curs) __attribute__((nothrow));
 9812// proceed to next item
 9813// func:amc.FDb.argvtype_curs.Next
 9814void                 _db_argvtype_curs_Next(_db_argvtype_curs &curs) __attribute__((nothrow));
 9815// item access
 9816// func:amc.FDb.argvtype_curs.Access
 9817amc::FArgvtype&      _db_argvtype_curs_Access(_db_argvtype_curs &curs) __attribute__((nothrow));
 9818// cursor points to valid item
 9819// func:amc.FDb.fcmdline_curs.Reset
 9820void                 _db_fcmdline_curs_Reset(_db_fcmdline_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9821// cursor points to valid item
 9822// func:amc.FDb.fcmdline_curs.ValidQ
 9823bool                 _db_fcmdline_curs_ValidQ(_db_fcmdline_curs &curs) __attribute__((nothrow));
 9824// proceed to next item
 9825// func:amc.FDb.fcmdline_curs.Next
 9826void                 _db_fcmdline_curs_Next(_db_fcmdline_curs &curs) __attribute__((nothrow));
 9827// item access
 9828// func:amc.FDb.fcmdline_curs.Access
 9829amc::FFcmdline&      _db_fcmdline_curs_Access(_db_fcmdline_curs &curs) __attribute__((nothrow));
 9830// cursor points to valid item
 9831// func:amc.FDb.floadtuples_curs.Reset
 9832void                 _db_floadtuples_curs_Reset(_db_floadtuples_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9833// cursor points to valid item
 9834// func:amc.FDb.floadtuples_curs.ValidQ
 9835bool                 _db_floadtuples_curs_ValidQ(_db_floadtuples_curs &curs) __attribute__((nothrow));
 9836// proceed to next item
 9837// func:amc.FDb.floadtuples_curs.Next
 9838void                 _db_floadtuples_curs_Next(_db_floadtuples_curs &curs) __attribute__((nothrow));
 9839// item access
 9840// func:amc.FDb.floadtuples_curs.Access
 9841amc::FFloadtuples&   _db_floadtuples_curs_Access(_db_floadtuples_curs &curs) __attribute__((nothrow));
 9842// cursor points to valid item
 9843// func:amc.FDb.fcmap_curs.Reset
 9844void                 _db_fcmap_curs_Reset(_db_fcmap_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9845// cursor points to valid item
 9846// func:amc.FDb.fcmap_curs.ValidQ
 9847bool                 _db_fcmap_curs_ValidQ(_db_fcmap_curs &curs) __attribute__((nothrow));
 9848// proceed to next item
 9849// func:amc.FDb.fcmap_curs.Next
 9850void                 _db_fcmap_curs_Next(_db_fcmap_curs &curs) __attribute__((nothrow));
 9851// item access
 9852// func:amc.FDb.fcmap_curs.Access
 9853amc::FFcmap&         _db_fcmap_curs_Access(_db_fcmap_curs &curs) __attribute__((nothrow));
 9854// cursor points to valid item
 9855// func:amc.FDb.zs_ordkeyfield_curs.Reset
 9856void                 _db_zs_ordkeyfield_curs_Reset(_db_zs_ordkeyfield_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9857// cursor points to valid item
 9858// func:amc.FDb.zs_ordkeyfield_curs.ValidQ
 9859bool                 _db_zs_ordkeyfield_curs_ValidQ(_db_zs_ordkeyfield_curs &curs) __attribute__((nothrow));
 9860// proceed to next item
 9861// func:amc.FDb.zs_ordkeyfield_curs.Next
 9862void                 _db_zs_ordkeyfield_curs_Next(_db_zs_ordkeyfield_curs &curs) __attribute__((nothrow));
 9863// item access
 9864// func:amc.FDb.zs_ordkeyfield_curs.Access
 9865amc::FField&         _db_zs_ordkeyfield_curs_Access(_db_zs_ordkeyfield_curs &curs) __attribute__((nothrow));
 9866// cursor points to valid item
 9867// func:amc.FDb.nsproto_curs.Reset
 9868void                 _db_nsproto_curs_Reset(_db_nsproto_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9869// cursor points to valid item
 9870// func:amc.FDb.nsproto_curs.ValidQ
 9871bool                 _db_nsproto_curs_ValidQ(_db_nsproto_curs &curs) __attribute__((nothrow));
 9872// proceed to next item
 9873// func:amc.FDb.nsproto_curs.Next
 9874void                 _db_nsproto_curs_Next(_db_nsproto_curs &curs) __attribute__((nothrow));
 9875// item access
 9876// func:amc.FDb.nsproto_curs.Access
 9877amc::FNsproto&       _db_nsproto_curs_Access(_db_nsproto_curs &curs) __attribute__((nothrow));
 9878// cursor points to valid item
 9879// func:amc.FDb.nsdb_curs.Reset
 9880void                 _db_nsdb_curs_Reset(_db_nsdb_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9881// cursor points to valid item
 9882// func:amc.FDb.nsdb_curs.ValidQ
 9883bool                 _db_nsdb_curs_ValidQ(_db_nsdb_curs &curs) __attribute__((nothrow));
 9884// proceed to next item
 9885// func:amc.FDb.nsdb_curs.Next
 9886void                 _db_nsdb_curs_Next(_db_nsdb_curs &curs) __attribute__((nothrow));
 9887// item access
 9888// func:amc.FDb.nsdb_curs.Access
 9889amc::FNsdb&          _db_nsdb_curs_Access(_db_nsdb_curs &curs) __attribute__((nothrow));
 9890// cursor points to valid item
 9891// func:amc.FDb.zd_substr_params_curs.Reset
 9892void                 _db_zd_substr_params_curs_Reset(_db_zd_substr_params_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9893// cursor points to valid item
 9894// func:amc.FDb.zd_substr_params_curs.ValidQ
 9895bool                 _db_zd_substr_params_curs_ValidQ(_db_zd_substr_params_curs &curs) __attribute__((nothrow));
 9896// proceed to next item
 9897// func:amc.FDb.zd_substr_params_curs.Next
 9898void                 _db_zd_substr_params_curs_Next(_db_zd_substr_params_curs &curs) __attribute__((nothrow));
 9899// item access
 9900// func:amc.FDb.zd_substr_params_curs.Access
 9901amc::FSubstr&        _db_zd_substr_params_curs_Access(_db_zd_substr_params_curs &curs) __attribute__((nothrow));
 9902// cursor points to valid item
 9903// func:amc.FDb.fprefix_curs.Reset
 9904void                 _db_fprefix_curs_Reset(_db_fprefix_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9905// cursor points to valid item
 9906// func:amc.FDb.fprefix_curs.ValidQ
 9907bool                 _db_fprefix_curs_ValidQ(_db_fprefix_curs &curs) __attribute__((nothrow));
 9908// proceed to next item
 9909// func:amc.FDb.fprefix_curs.Next
 9910void                 _db_fprefix_curs_Next(_db_fprefix_curs &curs) __attribute__((nothrow));
 9911// item access
 9912// func:amc.FDb.fprefix_curs.Access
 9913amc::FFprefix&       _db_fprefix_curs_Access(_db_fprefix_curs &curs) __attribute__((nothrow));
 9914// cursor points to valid item
 9915// func:amc.FDb.ftrace_curs.Reset
 9916void                 _db_ftrace_curs_Reset(_db_ftrace_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9917// cursor points to valid item
 9918// func:amc.FDb.ftrace_curs.ValidQ
 9919bool                 _db_ftrace_curs_ValidQ(_db_ftrace_curs &curs) __attribute__((nothrow));
 9920// proceed to next item
 9921// func:amc.FDb.ftrace_curs.Next
 9922void                 _db_ftrace_curs_Next(_db_ftrace_curs &curs) __attribute__((nothrow));
 9923// item access
 9924// func:amc.FDb.ftrace_curs.Access
 9925amc::FFtrace&        _db_ftrace_curs_Access(_db_ftrace_curs &curs) __attribute__((nothrow));
 9926// cursor points to valid item
 9927// func:amc.FDb.fnoremove_curs.Reset
 9928void                 _db_fnoremove_curs_Reset(_db_fnoremove_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9929// cursor points to valid item
 9930// func:amc.FDb.fnoremove_curs.ValidQ
 9931bool                 _db_fnoremove_curs_ValidQ(_db_fnoremove_curs &curs) __attribute__((nothrow));
 9932// proceed to next item
 9933// func:amc.FDb.fnoremove_curs.Next
 9934void                 _db_fnoremove_curs_Next(_db_fnoremove_curs &curs) __attribute__((nothrow));
 9935// item access
 9936// func:amc.FDb.fnoremove_curs.Access
 9937amc::FFnoremove&     _db_fnoremove_curs_Access(_db_fnoremove_curs &curs) __attribute__((nothrow));
 9938// func:amc.FDb.c_substr_field_curs.Reset
 9939void                 _db_c_substr_field_curs_Reset(_db_c_substr_field_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9940// cursor points to valid item
 9941// func:amc.FDb.c_substr_field_curs.ValidQ
 9942bool                 _db_c_substr_field_curs_ValidQ(_db_c_substr_field_curs &curs) __attribute__((nothrow));
 9943// proceed to next item
 9944// func:amc.FDb.c_substr_field_curs.Next
 9945void                 _db_c_substr_field_curs_Next(_db_c_substr_field_curs &curs) __attribute__((nothrow));
 9946// item access
 9947// func:amc.FDb.c_substr_field_curs.Access
 9948amc::FSubstr&        _db_c_substr_field_curs_Access(_db_c_substr_field_curs &curs) __attribute__((nothrow));
 9949// cursor points to valid item
 9950// func:amc.FDb.ctypelen_curs.Reset
 9951void                 _db_ctypelen_curs_Reset(_db_ctypelen_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9952// cursor points to valid item
 9953// func:amc.FDb.ctypelen_curs.ValidQ
 9954bool                 _db_ctypelen_curs_ValidQ(_db_ctypelen_curs &curs) __attribute__((nothrow));
 9955// proceed to next item
 9956// func:amc.FDb.ctypelen_curs.Next
 9957void                 _db_ctypelen_curs_Next(_db_ctypelen_curs &curs) __attribute__((nothrow));
 9958// item access
 9959// func:amc.FDb.ctypelen_curs.Access
 9960amc::FCtypelen&      _db_ctypelen_curs_Access(_db_ctypelen_curs &curs) __attribute__((nothrow));
 9961// func:amc.FDb.c_ctypelen_curs.Reset
 9962void                 _db_c_ctypelen_curs_Reset(_db_c_ctypelen_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9963// cursor points to valid item
 9964// func:amc.FDb.c_ctypelen_curs.ValidQ
 9965bool                 _db_c_ctypelen_curs_ValidQ(_db_c_ctypelen_curs &curs) __attribute__((nothrow));
 9966// proceed to next item
 9967// func:amc.FDb.c_ctypelen_curs.Next
 9968void                 _db_c_ctypelen_curs_Next(_db_c_ctypelen_curs &curs) __attribute__((nothrow));
 9969// item access
 9970// func:amc.FDb.c_ctypelen_curs.Access
 9971amc::FCtypelen&      _db_c_ctypelen_curs_Access(_db_c_ctypelen_curs &curs) __attribute__((nothrow));
 9972// func:amc.FDb.c_tempfield_curs.Reset
 9973void                 _db_c_tempfield_curs_Reset(_db_c_tempfield_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9974// cursor points to valid item
 9975// func:amc.FDb.c_tempfield_curs.ValidQ
 9976bool                 _db_c_tempfield_curs_ValidQ(_db_c_tempfield_curs &curs) __attribute__((nothrow));
 9977// proceed to next item
 9978// func:amc.FDb.c_tempfield_curs.Next
 9979void                 _db_c_tempfield_curs_Next(_db_c_tempfield_curs &curs) __attribute__((nothrow));
 9980// item access
 9981// func:amc.FDb.c_tempfield_curs.Access
 9982amc::FField&         _db_c_tempfield_curs_Access(_db_c_tempfield_curs &curs) __attribute__((nothrow));
 9983// cursor points to valid item
 9984// func:amc.FDb.fbase_curs.Reset
 9985void                 _db_fbase_curs_Reset(_db_fbase_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9986// cursor points to valid item
 9987// func:amc.FDb.fbase_curs.ValidQ
 9988bool                 _db_fbase_curs_ValidQ(_db_fbase_curs &curs) __attribute__((nothrow));
 9989// proceed to next item
 9990// func:amc.FDb.fbase_curs.Next
 9991void                 _db_fbase_curs_Next(_db_fbase_curs &curs) __attribute__((nothrow));
 9992// item access
 9993// func:amc.FDb.fbase_curs.Access
 9994amc::FFbase&         _db_fbase_curs_Access(_db_fbase_curs &curs) __attribute__((nothrow));
 9995// cursor points to valid item
 9996// func:amc.FDb.nossimfile_curs.Reset
 9997void                 _db_nossimfile_curs_Reset(_db_nossimfile_curs &curs, amc::FDb &parent) __attribute__((nothrow));
 9998// cursor points to valid item
 9999// func:amc.FDb.nossimfile_curs.ValidQ
10000bool                 _db_nossimfile_curs_ValidQ(_db_nossimfile_curs &curs) __attribute__((nothrow));
10001// proceed to next item
10002// func:amc.FDb.nossimfile_curs.Next
10003void                 _db_nossimfile_curs_Next(_db_nossimfile_curs &curs) __attribute__((nothrow));
10004// item access
10005// func:amc.FDb.nossimfile_curs.Access
10006amc::FNossimfile&    _db_nossimfile_curs_Access(_db_nossimfile_curs &curs) __attribute__((nothrow));
10007// cursor points to valid item
10008// func:amc.FDb.gsymbol_curs.Reset
10009void                 _db_gsymbol_curs_Reset(_db_gsymbol_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10010// cursor points to valid item
10011// func:amc.FDb.gsymbol_curs.ValidQ
10012bool                 _db_gsymbol_curs_ValidQ(_db_gsymbol_curs &curs) __attribute__((nothrow));
10013// proceed to next item
10014// func:amc.FDb.gsymbol_curs.Next
10015void                 _db_gsymbol_curs_Next(_db_gsymbol_curs &curs) __attribute__((nothrow));
10016// item access
10017// func:amc.FDb.gsymbol_curs.Access
10018amc::FGsymbol&       _db_gsymbol_curs_Access(_db_gsymbol_curs &curs) __attribute__((nothrow));
10019// cursor points to valid item
10020// func:amc.FDb.sortfld_curs.Reset
10021void                 _db_sortfld_curs_Reset(_db_sortfld_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10022// cursor points to valid item
10023// func:amc.FDb.sortfld_curs.ValidQ
10024bool                 _db_sortfld_curs_ValidQ(_db_sortfld_curs &curs) __attribute__((nothrow));
10025// proceed to next item
10026// func:amc.FDb.sortfld_curs.Next
10027void                 _db_sortfld_curs_Next(_db_sortfld_curs &curs) __attribute__((nothrow));
10028// item access
10029// func:amc.FDb.sortfld_curs.Access
10030amc::FSortfld&       _db_sortfld_curs_Access(_db_sortfld_curs &curs) __attribute__((nothrow));
10031// cursor points to valid item
10032// func:amc.FDb.cget_curs.Reset
10033void                 _db_cget_curs_Reset(_db_cget_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10034// cursor points to valid item
10035// func:amc.FDb.cget_curs.ValidQ
10036bool                 _db_cget_curs_ValidQ(_db_cget_curs &curs) __attribute__((nothrow));
10037// proceed to next item
10038// func:amc.FDb.cget_curs.Next
10039void                 _db_cget_curs_Next(_db_cget_curs &curs) __attribute__((nothrow));
10040// item access
10041// func:amc.FDb.cget_curs.Access
10042amc::FCget&          _db_cget_curs_Access(_db_cget_curs &curs) __attribute__((nothrow));
10043// cursor points to valid item
10044// func:amc.FDb.cd_temp_func_curs.Reset
10045void                 _db_cd_temp_func_curs_Reset(_db_cd_temp_func_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10046// cursor points to valid item
10047// func:amc.FDb.cd_temp_func_curs.ValidQ
10048bool                 _db_cd_temp_func_curs_ValidQ(_db_cd_temp_func_curs &curs) __attribute__((nothrow));
10049// proceed to next item
10050// func:amc.FDb.cd_temp_func_curs.Next
10051void                 _db_cd_temp_func_curs_Next(_db_cd_temp_func_curs &curs) __attribute__((nothrow));
10052// item access
10053// func:amc.FDb.cd_temp_func_curs.Access
10054amc::FFunc&          _db_cd_temp_func_curs_Access(_db_cd_temp_func_curs &curs) __attribute__((nothrow));
10055// cursor points to valid item
10056// func:amc.FDb.zs_gen_perns_curs.Reset
10057void                 _db_zs_gen_perns_curs_Reset(_db_zs_gen_perns_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10058// cursor points to valid item
10059// func:amc.FDb.zs_gen_perns_curs.ValidQ
10060bool                 _db_zs_gen_perns_curs_ValidQ(_db_zs_gen_perns_curs &curs) __attribute__((nothrow));
10061// proceed to next item
10062// func:amc.FDb.zs_gen_perns_curs.Next
10063void                 _db_zs_gen_perns_curs_Next(_db_zs_gen_perns_curs &curs) __attribute__((nothrow));
10064// item access
10065// func:amc.FDb.zs_gen_perns_curs.Access
10066amc::FGen&           _db_zs_gen_perns_curs_Access(_db_zs_gen_perns_curs &curs) __attribute__((nothrow));
10067// cursor points to valid item
10068// func:amc.FDb.hook_curs.Reset
10069void                 _db_hook_curs_Reset(_db_hook_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10070// cursor points to valid item
10071// func:amc.FDb.hook_curs.ValidQ
10072bool                 _db_hook_curs_ValidQ(_db_hook_curs &curs) __attribute__((nothrow));
10073// proceed to next item
10074// func:amc.FDb.hook_curs.Next
10075void                 _db_hook_curs_Next(_db_hook_curs &curs) __attribute__((nothrow));
10076// item access
10077// func:amc.FDb.hook_curs.Access
10078amc::FHook&          _db_hook_curs_Access(_db_hook_curs &curs) __attribute__((nothrow));
10079// cursor points to valid item
10080// func:amc.FDb.charset_curs.Reset
10081void                 _db_charset_curs_Reset(_db_charset_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10082// cursor points to valid item
10083// func:amc.FDb.charset_curs.ValidQ
10084bool                 _db_charset_curs_ValidQ(_db_charset_curs &curs) __attribute__((nothrow));
10085// proceed to next item
10086// func:amc.FDb.charset_curs.Next
10087void                 _db_charset_curs_Next(_db_charset_curs &curs) __attribute__((nothrow));
10088// item access
10089// func:amc.FDb.charset_curs.Access
10090amc::FCharset&       _db_charset_curs_Access(_db_charset_curs &curs) __attribute__((nothrow));
10091// cursor points to valid item
10092// func:amc.FDb.nsinclude_curs.Reset
10093void                 _db_nsinclude_curs_Reset(_db_nsinclude_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10094// cursor points to valid item
10095// func:amc.FDb.nsinclude_curs.ValidQ
10096bool                 _db_nsinclude_curs_ValidQ(_db_nsinclude_curs &curs) __attribute__((nothrow));
10097// proceed to next item
10098// func:amc.FDb.nsinclude_curs.Next
10099void                 _db_nsinclude_curs_Next(_db_nsinclude_curs &curs) __attribute__((nothrow));
10100// item access
10101// func:amc.FDb.nsinclude_curs.Access
10102amc::FNsinclude&     _db_nsinclude_curs_Access(_db_nsinclude_curs &curs) __attribute__((nothrow));
10103// cursor points to valid item
10104// func:amc.FDb.ssimvolatile_curs.Reset
10105void                 _db_ssimvolatile_curs_Reset(_db_ssimvolatile_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10106// cursor points to valid item
10107// func:amc.FDb.ssimvolatile_curs.ValidQ
10108bool                 _db_ssimvolatile_curs_ValidQ(_db_ssimvolatile_curs &curs) __attribute__((nothrow));
10109// proceed to next item
10110// func:amc.FDb.ssimvolatile_curs.Next
10111void                 _db_ssimvolatile_curs_Next(_db_ssimvolatile_curs &curs) __attribute__((nothrow));
10112// item access
10113// func:amc.FDb.ssimvolatile_curs.Access
10114amc::FSsimvolatile&  _db_ssimvolatile_curs_Access(_db_ssimvolatile_curs &curs) __attribute__((nothrow));
10115// cursor points to valid item
10116// func:amc.FDb.funique_curs.Reset
10117void                 _db_funique_curs_Reset(_db_funique_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10118// cursor points to valid item
10119// func:amc.FDb.funique_curs.ValidQ
10120bool                 _db_funique_curs_ValidQ(_db_funique_curs &curs) __attribute__((nothrow));
10121// proceed to next item
10122// func:amc.FDb.funique_curs.Next
10123void                 _db_funique_curs_Next(_db_funique_curs &curs) __attribute__((nothrow));
10124// item access
10125// func:amc.FDb.funique_curs.Access
10126amc::FFunique&       _db_funique_curs_Access(_db_funique_curs &curs) __attribute__((nothrow));
10127// cursor points to valid item
10128// func:amc.FDb.fuserinit_curs.Reset
10129void                 _db_fuserinit_curs_Reset(_db_fuserinit_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10130// cursor points to valid item
10131// func:amc.FDb.fuserinit_curs.ValidQ
10132bool                 _db_fuserinit_curs_ValidQ(_db_fuserinit_curs &curs) __attribute__((nothrow));
10133// proceed to next item
10134// func:amc.FDb.fuserinit_curs.Next
10135void                 _db_fuserinit_curs_Next(_db_fuserinit_curs &curs) __attribute__((nothrow));
10136// item access
10137// func:amc.FDb.fuserinit_curs.Access
10138amc::FFuserinit&     _db_fuserinit_curs_Access(_db_fuserinit_curs &curs) __attribute__((nothrow));
10139// cursor points to valid item
10140// func:amc.FDb.tcurs_curs.Reset
10141void                 _db_tcurs_curs_Reset(_db_tcurs_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10142// cursor points to valid item
10143// func:amc.FDb.tcurs_curs.ValidQ
10144bool                 _db_tcurs_curs_ValidQ(_db_tcurs_curs &curs) __attribute__((nothrow));
10145// proceed to next item
10146// func:amc.FDb.tcurs_curs.Next
10147void                 _db_tcurs_curs_Next(_db_tcurs_curs &curs) __attribute__((nothrow));
10148// item access
10149// func:amc.FDb.tcurs_curs.Access
10150amc::FTcurs&         _db_tcurs_curs_Access(_db_tcurs_curs &curs) __attribute__((nothrow));
10151// cursor points to valid item
10152// func:amc.FDb.nscpp_curs.Reset
10153void                 _db_nscpp_curs_Reset(_db_nscpp_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10154// cursor points to valid item
10155// func:amc.FDb.nscpp_curs.ValidQ
10156bool                 _db_nscpp_curs_ValidQ(_db_nscpp_curs &curs) __attribute__((nothrow));
10157// proceed to next item
10158// func:amc.FDb.nscpp_curs.Next
10159void                 _db_nscpp_curs_Next(_db_nscpp_curs &curs) __attribute__((nothrow));
10160// item access
10161// func:amc.FDb.nscpp_curs.Access
10162amc::FNscpp&         _db_nscpp_curs_Access(_db_nscpp_curs &curs) __attribute__((nothrow));
10163// cursor points to valid item
10164// func:amc.FDb.fflag_curs.Reset
10165void                 _db_fflag_curs_Reset(_db_fflag_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10166// cursor points to valid item
10167// func:amc.FDb.fflag_curs.ValidQ
10168bool                 _db_fflag_curs_ValidQ(_db_fflag_curs &curs) __attribute__((nothrow));
10169// proceed to next item
10170// func:amc.FDb.fflag_curs.Next
10171void                 _db_fflag_curs_Next(_db_fflag_curs &curs) __attribute__((nothrow));
10172// item access
10173// func:amc.FDb.fflag_curs.Access
10174amc::FFflag&         _db_fflag_curs_Access(_db_fflag_curs &curs) __attribute__((nothrow));
10175// cursor points to valid item
10176// func:amc.FDb.falias_curs.Reset
10177void                 _db_falias_curs_Reset(_db_falias_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10178// cursor points to valid item
10179// func:amc.FDb.falias_curs.ValidQ
10180bool                 _db_falias_curs_ValidQ(_db_falias_curs &curs) __attribute__((nothrow));
10181// proceed to next item
10182// func:amc.FDb.falias_curs.Next
10183void                 _db_falias_curs_Next(_db_falias_curs &curs) __attribute__((nothrow));
10184// item access
10185// func:amc.FDb.falias_curs.Access
10186amc::FFalias&        _db_falias_curs_Access(_db_falias_curs &curs) __attribute__((nothrow));
10187// cursor points to valid item
10188// func:amc.FDb.license_curs.Reset
10189void                 _db_license_curs_Reset(_db_license_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10190// cursor points to valid item
10191// func:amc.FDb.license_curs.ValidQ
10192bool                 _db_license_curs_ValidQ(_db_license_curs &curs) __attribute__((nothrow));
10193// proceed to next item
10194// func:amc.FDb.license_curs.Next
10195void                 _db_license_curs_Next(_db_license_curs &curs) __attribute__((nothrow));
10196// item access
10197// func:amc.FDb.license_curs.Access
10198amc::FLicense&       _db_license_curs_Access(_db_license_curs &curs) __attribute__((nothrow));
10199// func:amc.FDb.c_ssimfile_sorted_curs.Reset
10200void                 _db_c_ssimfile_sorted_curs_Reset(_db_c_ssimfile_sorted_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10201// cursor points to valid item
10202// func:amc.FDb.c_ssimfile_sorted_curs.ValidQ
10203bool                 _db_c_ssimfile_sorted_curs_ValidQ(_db_c_ssimfile_sorted_curs &curs) __attribute__((nothrow));
10204// proceed to next item
10205// func:amc.FDb.c_ssimfile_sorted_curs.Next
10206void                 _db_c_ssimfile_sorted_curs_Next(_db_c_ssimfile_sorted_curs &curs) __attribute__((nothrow));
10207// item access
10208// func:amc.FDb.c_ssimfile_sorted_curs.Access
10209amc::FSsimfile&      _db_c_ssimfile_sorted_curs_Access(_db_c_ssimfile_sorted_curs &curs) __attribute__((nothrow));
10210// cursor points to valid item
10211// func:amc.FDb.zd_ssimfile_todo_curs.Reset
10212void                 _db_zd_ssimfile_todo_curs_Reset(_db_zd_ssimfile_todo_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10213// cursor points to valid item
10214// func:amc.FDb.zd_ssimfile_todo_curs.ValidQ
10215bool                 _db_zd_ssimfile_todo_curs_ValidQ(_db_zd_ssimfile_todo_curs &curs) __attribute__((nothrow));
10216// proceed to next item
10217// func:amc.FDb.zd_ssimfile_todo_curs.Next
10218void                 _db_zd_ssimfile_todo_curs_Next(_db_zd_ssimfile_todo_curs &curs) __attribute__((nothrow));
10219// item access
10220// func:amc.FDb.zd_ssimfile_todo_curs.Access
10221amc::FSsimfile&      _db_zd_ssimfile_todo_curs_Access(_db_zd_ssimfile_todo_curs &curs) __attribute__((nothrow));
10222// cursor points to valid item
10223// func:amc.FDb.cfast_curs.Reset
10224void                 _db_cfast_curs_Reset(_db_cfast_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10225// cursor points to valid item
10226// func:amc.FDb.cfast_curs.ValidQ
10227bool                 _db_cfast_curs_ValidQ(_db_cfast_curs &curs) __attribute__((nothrow));
10228// proceed to next item
10229// func:amc.FDb.cfast_curs.Next
10230void                 _db_cfast_curs_Next(_db_cfast_curs &curs) __attribute__((nothrow));
10231// item access
10232// func:amc.FDb.cfast_curs.Access
10233amc::FCfast&         _db_cfast_curs_Access(_db_cfast_curs &curs) __attribute__((nothrow));
10234// cursor points to valid item
10235// func:amc.FDb.ffast_curs.Reset
10236void                 _db_ffast_curs_Reset(_db_ffast_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10237// cursor points to valid item
10238// func:amc.FDb.ffast_curs.ValidQ
10239bool                 _db_ffast_curs_ValidQ(_db_ffast_curs &curs) __attribute__((nothrow));
10240// proceed to next item
10241// func:amc.FDb.ffast_curs.Next
10242void                 _db_ffast_curs_Next(_db_ffast_curs &curs) __attribute__((nothrow));
10243// item access
10244// func:amc.FDb.ffast_curs.Access
10245amc::FFfast&         _db_ffast_curs_Access(_db_ffast_curs &curs) __attribute__((nothrow));
10246// cursor points to valid item
10247// func:amc.FDb.pmaskfld_member_curs.Reset
10248void                 _db_pmaskfld_member_curs_Reset(_db_pmaskfld_member_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10249// cursor points to valid item
10250// func:amc.FDb.pmaskfld_member_curs.ValidQ
10251bool                 _db_pmaskfld_member_curs_ValidQ(_db_pmaskfld_member_curs &curs) __attribute__((nothrow));
10252// proceed to next item
10253// func:amc.FDb.pmaskfld_member_curs.Next
10254void                 _db_pmaskfld_member_curs_Next(_db_pmaskfld_member_curs &curs) __attribute__((nothrow));
10255// item access
10256// func:amc.FDb.pmaskfld_member_curs.Access
10257amc::FPmaskfldMember& _db_pmaskfld_member_curs_Access(_db_pmaskfld_member_curs &curs) __attribute__((nothrow));
10258// cursor points to valid item
10259// func:amc.FDb.ssimsort_curs.Reset
10260void                 _db_ssimsort_curs_Reset(_db_ssimsort_curs &curs, amc::FDb &parent) __attribute__((nothrow));
10261// cursor points to valid item
10262// func:amc.FDb.ssimsort_curs.ValidQ
10263bool                 _db_ssimsort_curs_ValidQ(_db_ssimsort_curs &curs) __attribute__((nothrow));
10264// proceed to next item
10265// func:amc.FDb.ssimsort_curs.Next
10266void                 _db_ssimsort_curs_Next(_db_ssimsort_curs &curs) __attribute__((nothrow));
10267// item access
10268// func:amc.FDb.ssimsort_curs.Access
10269amc::FSsimsort&      _db_ssimsort_curs_Access(_db_ssimsort_curs &curs) __attribute__((nothrow));
10270// Set all fields to initial values.
10271// func:amc.FDb..Init
10272void                 FDb_Init();
10273// func:amc.FDb..Uninit
10274void                 FDb_Uninit() __attribute__((nothrow));
10275
10276// --- amc.FDispatch
10277// create: amc.FDb.dispatch (Lary)
10278// global access: ind_dispatch (Thash)
10279// access: amc.FDispatchmsg.p_dispatch (Upptr)
10280// access: amc.FDisptrace.p_dispatch (Upptr)
10281// access: amc.FNs.c_dispatch (Ptrary)
10282struct FDispatch { // amc.FDispatch
10283    amc::FDispatch*       ind_dispatch_next;      // hash next
10284    algo::Smallstr50      dispatch;               // Primary key (ns.name)
10285    bool                  unk;                    //   false  Want default case?
10286    bool                  read;                   //   false  Generate read function
10287    bool                  print;                  //   false  Generate print function
10288    bool                  haslen;                 //   false  Include length in dispatch function
10289    bool                  call;                   //   false  Generate call to user-defined function
10290    bool                  strict;                 //   false  Only dispatch if length matches exactly
10291    amc::FCtype*          p_ctype_hdr;            // reference to parent row
10292    amc::FCtype*          p_casetype;             // reference to parent row
10293    amc::FDispfilter*     c_dispfilter;           // optional pointer
10294    amc::FNs*             p_ns;                   // reference to parent row
10295    amc::FDispatchmsg**   c_dispatch_msg_elems;   // array of pointers
10296    u32                   c_dispatch_msg_n;       // array of pointers
10297    u32                   c_dispatch_msg_max;     // capacity of allocated array
10298    amc::FDisptrace*      c_disptrace;            // optional pointer
10299    algo::Sha1sig         signature;              //
10300    amc::FDispctx*        c_dispctx;              // optional pointer
10301    bool                  ns_c_dispatch_in_ary;   //   false  membership flag
10302private:
10303    friend amc::FDispatch&      dispatch_Alloc() __attribute__((__warn_unused_result__, nothrow));
10304    friend amc::FDispatch*      dispatch_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10305    friend void                 dispatch_RemoveLast() __attribute__((nothrow));
10306    FDispatch();
10307    ~FDispatch();
10308    FDispatch(const FDispatch&){ /*disallow copy constructor */}
10309    void operator =(const FDispatch&){ /*disallow direct assignment */}
10310};
10311
10312// Copy fields out of row
10313// func:amc.FDispatch.msghdr.CopyOut
10314void                 dispatch_CopyOut(amc::FDispatch &row, dmmeta::Dispatch &out) __attribute__((nothrow));
10315// Copy fields in to row
10316// func:amc.FDispatch.msghdr.CopyIn
10317void                 dispatch_CopyIn(amc::FDispatch &row, dmmeta::Dispatch &in) __attribute__((nothrow));
10318
10319// func:amc.FDispatch.ns.Get
10320algo::Smallstr16     ns_Get(amc::FDispatch& dispatch) __attribute__((__warn_unused_result__, nothrow));
10321
10322// func:amc.FDispatch.name.Get
10323algo::Smallstr50     name_Get(amc::FDispatch& dispatch) __attribute__((__warn_unused_result__, nothrow));
10324
10325// Insert row into pointer index. Return final membership status.
10326// func:amc.FDispatch.c_dispfilter.InsertMaybe
10327bool                 c_dispfilter_InsertMaybe(amc::FDispatch& dispatch, amc::FDispfilter& row) __attribute__((nothrow));
10328// Remove element from index. If element is not in index, do nothing.
10329// func:amc.FDispatch.c_dispfilter.Remove
10330void                 c_dispfilter_Remove(amc::FDispatch& dispatch, amc::FDispfilter& row) __attribute__((nothrow));
10331
10332// Return true if index is empty
10333// func:amc.FDispatch.c_dispatch_msg.EmptyQ
10334bool                 c_dispatch_msg_EmptyQ(amc::FDispatch& dispatch) __attribute__((nothrow));
10335// Look up row by row id. Return NULL if out of range
10336// func:amc.FDispatch.c_dispatch_msg.Find
10337amc::FDispatchmsg*   c_dispatch_msg_Find(amc::FDispatch& dispatch, u32 t) __attribute__((__warn_unused_result__, nothrow));
10338// Return array of pointers
10339// func:amc.FDispatch.c_dispatch_msg.Getary
10340algo::aryptr<amc::FDispatchmsg*> c_dispatch_msg_Getary(amc::FDispatch& dispatch) __attribute__((nothrow));
10341// Insert pointer to row into array. Row must not already be in array.
10342// If pointer is already in the array, it may be inserted twice.
10343// func:amc.FDispatch.c_dispatch_msg.Insert
10344void                 c_dispatch_msg_Insert(amc::FDispatch& dispatch, amc::FDispatchmsg& row) __attribute__((nothrow));
10345// Insert pointer to row in array.
10346// If row is already in the array, do nothing.
10347// Return value: whether element was inserted into array.
10348// func:amc.FDispatch.c_dispatch_msg.InsertMaybe
10349bool                 c_dispatch_msg_InsertMaybe(amc::FDispatch& dispatch, amc::FDispatchmsg& row) __attribute__((nothrow));
10350// Return number of items in the pointer array
10351// func:amc.FDispatch.c_dispatch_msg.N
10352i32                  c_dispatch_msg_N(const amc::FDispatch& dispatch) __attribute__((__warn_unused_result__, nothrow, pure));
10353// Find element using linear scan. If element is in array, remove, otherwise do nothing
10354// func:amc.FDispatch.c_dispatch_msg.Remove
10355void                 c_dispatch_msg_Remove(amc::FDispatch& dispatch, amc::FDispatchmsg& row) __attribute__((nothrow));
10356// Empty the index. (The rows are not deleted)
10357// func:amc.FDispatch.c_dispatch_msg.RemoveAll
10358void                 c_dispatch_msg_RemoveAll(amc::FDispatch& dispatch) __attribute__((nothrow));
10359// Reserve space in index for N more elements;
10360// func:amc.FDispatch.c_dispatch_msg.Reserve
10361void                 c_dispatch_msg_Reserve(amc::FDispatch& dispatch, u32 n) __attribute__((nothrow));
10362// Return reference without bounds checking
10363// func:amc.FDispatch.c_dispatch_msg.qFind
10364amc::FDispatchmsg&   c_dispatch_msg_qFind(amc::FDispatch& dispatch, u32 idx) __attribute__((nothrow));
10365// True if row is in any ptrary instance
10366// func:amc.FDispatch.c_dispatch_msg.InAryQ
10367bool                 dispatch_c_dispatch_msg_InAryQ(amc::FDispatchmsg& row) __attribute__((nothrow));
10368// Reference to last element without bounds checking
10369// func:amc.FDispatch.c_dispatch_msg.qLast
10370amc::FDispatchmsg&   c_dispatch_msg_qLast(amc::FDispatch& dispatch) __attribute__((nothrow));
10371
10372// Insert row into pointer index. Return final membership status.
10373// func:amc.FDispatch.c_disptrace.InsertMaybe
10374bool                 c_disptrace_InsertMaybe(amc::FDispatch& dispatch, amc::FDisptrace& row) __attribute__((nothrow));
10375// Remove element from index. If element is not in index, do nothing.
10376// func:amc.FDispatch.c_disptrace.Remove
10377void                 c_disptrace_Remove(amc::FDispatch& dispatch, amc::FDisptrace& row) __attribute__((nothrow));
10378
10379// Insert row into pointer index. Return final membership status.
10380// func:amc.FDispatch.c_dispctx.InsertMaybe
10381bool                 c_dispctx_InsertMaybe(amc::FDispatch& dispatch, amc::FDispctx& row) __attribute__((nothrow));
10382// Remove element from index. If element is not in index, do nothing.
10383// func:amc.FDispatch.c_dispctx.Remove
10384void                 c_dispctx_Remove(amc::FDispatch& dispatch, amc::FDispctx& row) __attribute__((nothrow));
10385
10386// Set all fields to initial values.
10387// func:amc.FDispatch..Init
10388void                 FDispatch_Init(amc::FDispatch& dispatch);
10389// func:amc.FDispatch.c_dispatch_msg_curs.Reset
10390void                 dispatch_c_dispatch_msg_curs_Reset(dispatch_c_dispatch_msg_curs &curs, amc::FDispatch &parent) __attribute__((nothrow));
10391// cursor points to valid item
10392// func:amc.FDispatch.c_dispatch_msg_curs.ValidQ
10393bool                 dispatch_c_dispatch_msg_curs_ValidQ(dispatch_c_dispatch_msg_curs &curs) __attribute__((nothrow));
10394// proceed to next item
10395// func:amc.FDispatch.c_dispatch_msg_curs.Next
10396void                 dispatch_c_dispatch_msg_curs_Next(dispatch_c_dispatch_msg_curs &curs) __attribute__((nothrow));
10397// item access
10398// func:amc.FDispatch.c_dispatch_msg_curs.Access
10399amc::FDispatchmsg&   dispatch_c_dispatch_msg_curs_Access(dispatch_c_dispatch_msg_curs &curs) __attribute__((nothrow));
10400// func:amc.FDispatch..Uninit
10401void                 FDispatch_Uninit(amc::FDispatch& dispatch) __attribute__((nothrow));
10402
10403// --- amc.FDispatchmsg
10404// create: amc.FDb.dispatch_msg (Lary)
10405// access: amc.FDispatch.c_dispatch_msg (Ptrary)
10406struct FDispatchmsg { // amc.FDispatchmsg
10407    algo::Smallstr100   dispatch_msg;                     //
10408    amc::FCtype*        p_ctype;                          // reference to parent row
10409    amc::FDispatch*     p_dispatch;                       // reference to parent row
10410    algo::cstring       selector;                         //
10411    bool                dispatch_c_dispatch_msg_in_ary;   //   false  membership flag
10412private:
10413    friend amc::FDispatchmsg&   dispatch_msg_Alloc() __attribute__((__warn_unused_result__, nothrow));
10414    friend amc::FDispatchmsg*   dispatch_msg_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10415    friend void                 dispatch_msg_RemoveLast() __attribute__((nothrow));
10416    FDispatchmsg();
10417    ~FDispatchmsg();
10418    FDispatchmsg(const FDispatchmsg&){ /*disallow copy constructor */}
10419    void operator =(const FDispatchmsg&){ /*disallow direct assignment */}
10420};
10421
10422// Copy fields out of row
10423// func:amc.FDispatchmsg.msghdr.CopyOut
10424void                 dispatch_msg_CopyOut(amc::FDispatchmsg &row, dmmeta::DispatchMsg &out) __attribute__((nothrow));
10425// Copy fields in to row
10426// func:amc.FDispatchmsg.msghdr.CopyIn
10427void                 dispatch_msg_CopyIn(amc::FDispatchmsg &row, dmmeta::DispatchMsg &in) __attribute__((nothrow));
10428
10429// func:amc.FDispatchmsg.dispatch.Get
10430algo::Smallstr50     dispatch_Get(amc::FDispatchmsg& dispatch_msg) __attribute__((__warn_unused_result__, nothrow));
10431
10432// func:amc.FDispatchmsg.ctype.Get
10433algo::Smallstr100    ctype_Get(amc::FDispatchmsg& dispatch_msg) __attribute__((__warn_unused_result__, nothrow));
10434
10435// Set all fields to initial values.
10436// func:amc.FDispatchmsg..Init
10437void                 FDispatchmsg_Init(amc::FDispatchmsg& dispatch_msg);
10438// func:amc.FDispatchmsg..Uninit
10439void                 FDispatchmsg_Uninit(amc::FDispatchmsg& dispatch_msg) __attribute__((nothrow));
10440
10441// --- amc.FDispctx
10442// create: amc.FDb.dispctx (Lary)
10443// access: amc.FDispatch.c_dispctx (Ptr)
10444struct FDispctx { // amc.FDispctx
10445    algo::Smallstr50    dispatch;   //
10446    algo::Smallstr100   ctype;      //
10447    amc::FCtype*        p_ctype;    // reference to parent row
10448private:
10449    friend amc::FDispctx&       dispctx_Alloc() __attribute__((__warn_unused_result__, nothrow));
10450    friend amc::FDispctx*       dispctx_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10451    friend void                 dispctx_RemoveLast() __attribute__((nothrow));
10452    FDispctx();
10453    ~FDispctx();
10454    FDispctx(const FDispctx&){ /*disallow copy constructor */}
10455    void operator =(const FDispctx&){ /*disallow direct assignment */}
10456};
10457
10458// Copy fields out of row
10459// func:amc.FDispctx.msghdr.CopyOut
10460void                 dispctx_CopyOut(amc::FDispctx &row, dmmeta::Dispctx &out) __attribute__((nothrow));
10461// Copy fields in to row
10462// func:amc.FDispctx.msghdr.CopyIn
10463void                 dispctx_CopyIn(amc::FDispctx &row, dmmeta::Dispctx &in) __attribute__((nothrow));
10464
10465// Set all fields to initial values.
10466// func:amc.FDispctx..Init
10467void                 FDispctx_Init(amc::FDispctx& dispctx);
10468// func:amc.FDispctx..Uninit
10469void                 FDispctx_Uninit(amc::FDispctx& dispctx) __attribute__((nothrow));
10470
10471// --- amc.FDispfilter
10472// create: amc.FDb.dispfilter (Lary)
10473// access: amc.FDispatch.c_dispfilter (Ptr)
10474struct FDispfilter { // amc.FDispfilter
10475    algo::Smallstr50   dispatch;    //
10476    bool               match_all;   //   false
10477private:
10478    friend amc::FDispfilter&    dispfilter_Alloc() __attribute__((__warn_unused_result__, nothrow));
10479    friend amc::FDispfilter*    dispfilter_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10480    friend void                 dispfilter_RemoveLast() __attribute__((nothrow));
10481    FDispfilter();
10482    ~FDispfilter();
10483    FDispfilter(const FDispfilter&){ /*disallow copy constructor */}
10484    void operator =(const FDispfilter&){ /*disallow direct assignment */}
10485};
10486
10487// Copy fields out of row
10488// func:amc.FDispfilter.msghdr.CopyOut
10489void                 dispfilter_CopyOut(amc::FDispfilter &row, dmmeta::Dispfilter &out) __attribute__((nothrow));
10490// Copy fields in to row
10491// func:amc.FDispfilter.msghdr.CopyIn
10492void                 dispfilter_CopyIn(amc::FDispfilter &row, dmmeta::Dispfilter &in) __attribute__((nothrow));
10493
10494// Set all fields to initial values.
10495// func:amc.FDispfilter..Init
10496void                 FDispfilter_Init(amc::FDispfilter& dispfilter);
10497// func:amc.FDispfilter..Uninit
10498void                 FDispfilter_Uninit(amc::FDispfilter& dispfilter) __attribute__((nothrow));
10499
10500// --- amc.FDispsig
10501// create: amc.FDb.dispsig (Lary)
10502// global access: c_dispsig_sorted (Ptrary)
10503// access: amc.FNs.c_dispsig (Ptrary)
10504struct FDispsig { // amc.FDispsig
10505    algo::Smallstr50   dispsig;                       //
10506    algo::Sha1sig      signature;                     //
10507    bool               _db_c_dispsig_sorted_in_ary;   //   false  membership flag
10508    bool               ns_c_dispsig_in_ary;           //   false  membership flag
10509private:
10510    friend amc::FDispsig&       dispsig_Alloc() __attribute__((__warn_unused_result__, nothrow));
10511    friend amc::FDispsig*       dispsig_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10512    friend void                 dispsig_RemoveAll() __attribute__((nothrow));
10513    friend void                 dispsig_RemoveLast() __attribute__((nothrow));
10514    FDispsig();
10515    ~FDispsig();
10516    FDispsig(const FDispsig&){ /*disallow copy constructor */}
10517    void operator =(const FDispsig&){ /*disallow direct assignment */}
10518};
10519
10520// Copy fields out of row
10521// func:amc.FDispsig.msghdr.CopyOut
10522void                 dispsig_CopyOut(amc::FDispsig &row, dmmeta::Dispsig &out) __attribute__((nothrow));
10523// Copy fields in to row
10524// func:amc.FDispsig.msghdr.CopyIn
10525void                 dispsig_CopyIn(amc::FDispsig &row, dmmeta::Dispsig &in) __attribute__((nothrow));
10526
10527// func:amc.FDispsig.ns.Get
10528algo::Smallstr16     ns_Get(amc::FDispsig& dispsig) __attribute__((__warn_unused_result__, nothrow));
10529
10530// func:amc.FDispsig.name.Get
10531algo::Smallstr50     name_Get(amc::FDispsig& dispsig) __attribute__((__warn_unused_result__, nothrow));
10532
10533// Set all fields to initial values.
10534// func:amc.FDispsig..Init
10535void                 FDispsig_Init(amc::FDispsig& dispsig);
10536// func:amc.FDispsig..Uninit
10537void                 FDispsig_Uninit(amc::FDispsig& dispsig) __attribute__((nothrow));
10538
10539// --- amc.FDisptrace
10540// create: amc.FDb.disptrace (Lary)
10541// access: amc.FDispatch.c_disptrace (Ptr)
10542struct FDisptrace { // amc.FDisptrace
10543    algo::Smallstr50   dispatch;     //
10544    bool               cycle;        //   false
10545    algo::Comment      comment;      //
10546    amc::FDispatch*    p_dispatch;   // reference to parent row
10547private:
10548    friend amc::FDisptrace&     disptrace_Alloc() __attribute__((__warn_unused_result__, nothrow));
10549    friend amc::FDisptrace*     disptrace_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10550    friend void                 disptrace_RemoveLast() __attribute__((nothrow));
10551    FDisptrace();
10552    ~FDisptrace();
10553    FDisptrace(const FDisptrace&){ /*disallow copy constructor */}
10554    void operator =(const FDisptrace&){ /*disallow direct assignment */}
10555};
10556
10557// Copy fields out of row
10558// func:amc.FDisptrace.msghdr.CopyOut
10559void                 disptrace_CopyOut(amc::FDisptrace &row, dmmeta::Disptrace &out) __attribute__((nothrow));
10560// Copy fields in to row
10561// func:amc.FDisptrace.msghdr.CopyIn
10562void                 disptrace_CopyIn(amc::FDisptrace &row, dmmeta::Disptrace &in) __attribute__((nothrow));
10563
10564// Set all fields to initial values.
10565// func:amc.FDisptrace..Init
10566void                 FDisptrace_Init(amc::FDisptrace& disptrace);
10567// func:amc.FDisptrace..Uninit
10568void                 FDisptrace_Uninit(amc::FDisptrace& disptrace) __attribute__((nothrow));
10569
10570// --- amc.FEnumstr
10571// create: amc.FDb.enumstr (Lary)
10572// global access: ind_enumstr (Thash)
10573// access: amc.FEnumstrLen.bh_enumstr (Bheap)
10574struct FEnumstr { // amc.FEnumstr: All values of a given length
10575    amc::FEnumstr*   ind_enumstr_next;   // hash next
10576    amc::Enumstr     enumstr;            //
10577    amc::FFconst**   c_fconst_elems;     // array of pointers
10578    u32              c_fconst_n;         // array of pointers
10579    u32              c_fconst_max;       // capacity of allocated array
10580    i32              bh_enumstr_idx;     // index in heap; -1 means not-in-heap
10581private:
10582    friend amc::FEnumstr&       enumstr_Alloc() __attribute__((__warn_unused_result__, nothrow));
10583    friend amc::FEnumstr*       enumstr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10584    friend void                 enumstr_RemoveAll() __attribute__((nothrow));
10585    friend void                 enumstr_RemoveLast() __attribute__((nothrow));
10586    FEnumstr();
10587    ~FEnumstr();
10588    FEnumstr(const FEnumstr&){ /*disallow copy constructor */}
10589    void operator =(const FEnumstr&){ /*disallow direct assignment */}
10590};
10591
10592// Return true if index is empty
10593// func:amc.FEnumstr.c_fconst.EmptyQ
10594bool                 c_fconst_EmptyQ(amc::FEnumstr& enumstr) __attribute__((nothrow));
10595// Look up row by row id. Return NULL if out of range
10596// func:amc.FEnumstr.c_fconst.Find
10597amc::FFconst*        c_fconst_Find(amc::FEnumstr& enumstr, u32 t) __attribute__((__warn_unused_result__, nothrow));
10598// Return array of pointers
10599// func:amc.FEnumstr.c_fconst.Getary
10600algo::aryptr<amc::FFconst*> c_fconst_Getary(amc::FEnumstr& enumstr) __attribute__((nothrow));
10601// Insert pointer to row into array. Row must not already be in array.
10602// If pointer is already in the array, it may be inserted twice.
10603// func:amc.FEnumstr.c_fconst.Insert
10604void                 c_fconst_Insert(amc::FEnumstr& enumstr, amc::FFconst& row) __attribute__((nothrow));
10605// Insert pointer to row in array.
10606// If row is already in the array, do nothing.
10607// Linear search is used to locate the element.
10608// Return value: whether element was inserted into array.
10609// func:amc.FEnumstr.c_fconst.ScanInsertMaybe
10610bool                 c_fconst_ScanInsertMaybe(amc::FEnumstr& enumstr, amc::FFconst& row) __attribute__((nothrow));
10611// Return number of items in the pointer array
10612// func:amc.FEnumstr.c_fconst.N
10613i32                  c_fconst_N(const amc::FEnumstr& enumstr) __attribute__((__warn_unused_result__, nothrow, pure));
10614// Find element using linear scan. If element is in array, remove, otherwise do nothing
10615// func:amc.FEnumstr.c_fconst.Remove
10616void                 c_fconst_Remove(amc::FEnumstr& enumstr, amc::FFconst& row) __attribute__((nothrow));
10617// Empty the index. (The rows are not deleted)
10618// func:amc.FEnumstr.c_fconst.RemoveAll
10619void                 c_fconst_RemoveAll(amc::FEnumstr& enumstr) __attribute__((nothrow));
10620// Reserve space in index for N more elements;
10621// func:amc.FEnumstr.c_fconst.Reserve
10622void                 c_fconst_Reserve(amc::FEnumstr& enumstr, u32 n) __attribute__((nothrow));
10623// Return reference without bounds checking
10624// func:amc.FEnumstr.c_fconst.qFind
10625amc::FFconst&        c_fconst_qFind(amc::FEnumstr& enumstr, u32 idx) __attribute__((nothrow));
10626// Reference to last element without bounds checking
10627// func:amc.FEnumstr.c_fconst.qLast
10628amc::FFconst&        c_fconst_qLast(amc::FEnumstr& enumstr) __attribute__((nothrow));
10629
10630// Set all fields to initial values.
10631// func:amc.FEnumstr..Init
10632void                 FEnumstr_Init(amc::FEnumstr& enumstr);
10633// func:amc.FEnumstr.c_fconst_curs.Reset
10634void                 enumstr_c_fconst_curs_Reset(enumstr_c_fconst_curs &curs, amc::FEnumstr &parent) __attribute__((nothrow));
10635// cursor points to valid item
10636// func:amc.FEnumstr.c_fconst_curs.ValidQ
10637bool                 enumstr_c_fconst_curs_ValidQ(enumstr_c_fconst_curs &curs) __attribute__((nothrow));
10638// proceed to next item
10639// func:amc.FEnumstr.c_fconst_curs.Next
10640void                 enumstr_c_fconst_curs_Next(enumstr_c_fconst_curs &curs) __attribute__((nothrow));
10641// item access
10642// func:amc.FEnumstr.c_fconst_curs.Access
10643amc::FFconst&        enumstr_c_fconst_curs_Access(enumstr_c_fconst_curs &curs) __attribute__((nothrow));
10644// func:amc.FEnumstr..Uninit
10645void                 FEnumstr_Uninit(amc::FEnumstr& enumstr) __attribute__((nothrow));
10646
10647// --- amc.FEnumstrLen
10648// create: amc.FDb.enumstr_len (Lary)
10649// global access: bh_enumstr_len (Bheap)
10650// global access: ind_enumstr_len (Thash)
10651struct FEnumstrLen { // amc.FEnumstrLen
10652    i32                 bh_enumstr_len_idx;     // index in heap; -1 means not-in-heap
10653    amc::FEnumstrLen*   ind_enumstr_len_next;   // hash next
10654    i32                 len;                    //   0
10655    amc::FEnumstr**     bh_enumstr_elems;       // binary heap by str
10656    i32                 bh_enumstr_n;           // number of elements in the heap
10657    i32                 bh_enumstr_max;         // max elements in bh_enumstr_elems
10658private:
10659    friend amc::FEnumstrLen&    enumstr_len_Alloc() __attribute__((__warn_unused_result__, nothrow));
10660    friend amc::FEnumstrLen*    enumstr_len_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10661    friend void                 enumstr_len_RemoveAll() __attribute__((nothrow));
10662    friend void                 enumstr_len_RemoveLast() __attribute__((nothrow));
10663    FEnumstrLen();
10664    ~FEnumstrLen();
10665    FEnumstrLen(const FEnumstrLen&){ /*disallow copy constructor */}
10666    void operator =(const FEnumstrLen&){ /*disallow direct assignment */}
10667};
10668
10669// Remove all elements from heap and free memory used by the array.
10670// func:amc.FEnumstrLen.bh_enumstr.Dealloc
10671void                 bh_enumstr_Dealloc(amc::FEnumstrLen& enumstr_len) __attribute__((nothrow));
10672// Return true if index is empty
10673// func:amc.FEnumstrLen.bh_enumstr.EmptyQ
10674bool                 bh_enumstr_EmptyQ(amc::FEnumstrLen& enumstr_len) __attribute__((nothrow));
10675// If index empty, return NULL. Otherwise return pointer to first element in index
10676// func:amc.FEnumstrLen.bh_enumstr.First
10677amc::FEnumstr*       bh_enumstr_First(amc::FEnumstrLen& enumstr_len) __attribute__((__warn_unused_result__, nothrow, pure));
10678// Return true if row is in index, false otherwise
10679// func:amc.FEnumstrLen.bh_enumstr.InBheapQ
10680bool                 bh_enumstr_InBheapQ(amc::FEnumstr& row) __attribute__((__warn_unused_result__, nothrow));
10681// Insert row. Row must not already be in index. If row is already in index, do nothing.
10682// func:amc.FEnumstrLen.bh_enumstr.Insert
10683void                 bh_enumstr_Insert(amc::FEnumstrLen& enumstr_len, amc::FEnumstr& row) __attribute__((nothrow));
10684// Return number of items in the heap
10685// func:amc.FEnumstrLen.bh_enumstr.N
10686i32                  bh_enumstr_N(const amc::FEnumstrLen& enumstr_len) __attribute__((__warn_unused_result__, nothrow, pure));
10687// If row is in heap, update its position. If row is not in heap, insert it.
10688// Return new position of item in the heap (0=top)
10689// func:amc.FEnumstrLen.bh_enumstr.Reheap
10690i32                  bh_enumstr_Reheap(amc::FEnumstrLen& enumstr_len, amc::FEnumstr& row) __attribute__((nothrow));
10691// Key of first element in the heap changed. Move it.
10692// This function does not check the insert condition.
10693// Return new position of item in the heap (0=top).
10694// Heap must be non-empty or behavior is undefined.
10695// func:amc.FEnumstrLen.bh_enumstr.ReheapFirst
10696i32                  bh_enumstr_ReheapFirst(amc::FEnumstrLen& enumstr_len) __attribute__((nothrow));
10697// Remove element from index. If element is not in index, do nothing.
10698// func:amc.FEnumstrLen.bh_enumstr.Remove
10699void                 bh_enumstr_Remove(amc::FEnumstrLen& enumstr_len, amc::FEnumstr& row) __attribute__((nothrow));
10700// Remove all elements from binary heap
10701// func:amc.FEnumstrLen.bh_enumstr.RemoveAll
10702void                 bh_enumstr_RemoveAll(amc::FEnumstrLen& enumstr_len) __attribute__((nothrow));
10703// If index is empty, return NULL. Otherwise remove and return first key in index.
10704//  Call 'head changed' trigger.
10705// func:amc.FEnumstrLen.bh_enumstr.RemoveFirst
10706amc::FEnumstr*       bh_enumstr_RemoveFirst(amc::FEnumstrLen& enumstr_len) __attribute__((nothrow));
10707// Reserve space in index for N more elements
10708// func:amc.FEnumstrLen.bh_enumstr.Reserve
10709void                 bh_enumstr_Reserve(amc::FEnumstrLen& enumstr_len, int n) __attribute__((nothrow));
10710
10711// Set all fields to initial values.
10712// func:amc.FEnumstrLen..Init
10713void                 FEnumstrLen_Init(amc::FEnumstrLen& enumstr_len);
10714// func:amc.FEnumstrLen.bh_enumstr_curs.Reserve
10715void                 enumstr_len_bh_enumstr_curs_Reserve(enumstr_len_bh_enumstr_curs &curs, int n);
10716// Reset cursor. If HEAP is non-empty, add its top element to CURS.
10717// func:amc.FEnumstrLen.bh_enumstr_curs.Reset
10718void                 enumstr_len_bh_enumstr_curs_Reset(enumstr_len_bh_enumstr_curs &curs, amc::FEnumstrLen &parent);
10719// Advance cursor.
10720// func:amc.FEnumstrLen.bh_enumstr_curs.Next
10721void                 enumstr_len_bh_enumstr_curs_Next(enumstr_len_bh_enumstr_curs &curs);
10722// Access current element. If not more elements, return NULL
10723// func:amc.FEnumstrLen.bh_enumstr_curs.Access
10724amc::FEnumstr&       enumstr_len_bh_enumstr_curs_Access(enumstr_len_bh_enumstr_curs &curs) __attribute__((nothrow));
10725// Return true if Access() will return non-NULL.
10726// func:amc.FEnumstrLen.bh_enumstr_curs.ValidQ
10727bool                 enumstr_len_bh_enumstr_curs_ValidQ(enumstr_len_bh_enumstr_curs &curs) __attribute__((nothrow));
10728// func:amc.FEnumstrLen..Uninit
10729void                 FEnumstrLen_Uninit(amc::FEnumstrLen& enumstr_len) __attribute__((nothrow));
10730
10731// --- amc.FFalias
10732// create: amc.FDb.falias (Lary)
10733// access: amc.FField.c_falias (Ptr)
10734struct FFalias { // amc.FFalias
10735    algo::Smallstr100   field;        //
10736    algo::Smallstr100   srcfield;     //
10737    algo::Comment       comment;      //
10738    amc::FField*        p_srcfield;   // reference to parent row
10739private:
10740    friend amc::FFalias&        falias_Alloc() __attribute__((__warn_unused_result__, nothrow));
10741    friend amc::FFalias*        falias_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10742    friend void                 falias_RemoveAll() __attribute__((nothrow));
10743    friend void                 falias_RemoveLast() __attribute__((nothrow));
10744    FFalias();
10745    ~FFalias();
10746    FFalias(const FFalias&){ /*disallow copy constructor */}
10747    void operator =(const FFalias&){ /*disallow direct assignment */}
10748};
10749
10750// Copy fields out of row
10751// func:amc.FFalias.base.CopyOut
10752void                 falias_CopyOut(amc::FFalias &row, dmmeta::Falias &out) __attribute__((nothrow));
10753// Copy fields in to row
10754// func:amc.FFalias.base.CopyIn
10755void                 falias_CopyIn(amc::FFalias &row, dmmeta::Falias &in) __attribute__((nothrow));
10756
10757// Set all fields to initial values.
10758// func:amc.FFalias..Init
10759void                 FFalias_Init(amc::FFalias& falias);
10760// func:amc.FFalias..Uninit
10761void                 FFalias_Uninit(amc::FFalias& falias) __attribute__((nothrow));
10762
10763// --- amc.FFbase
10764// create: amc.FDb.fbase (Lary)
10765// access: amc.FField.c_fbase (Ptr)
10766struct FFbase { // amc.FFbase
10767    algo::Smallstr100   field;          //
10768    bool                stripcomment;   //   false
10769    algo::Comment       comment;        //
10770private:
10771    friend amc::FFbase&         fbase_Alloc() __attribute__((__warn_unused_result__, nothrow));
10772    friend amc::FFbase*         fbase_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10773    friend void                 fbase_RemoveAll() __attribute__((nothrow));
10774    friend void                 fbase_RemoveLast() __attribute__((nothrow));
10775    FFbase();
10776    ~FFbase();
10777    FFbase(const FFbase&){ /*disallow copy constructor */}
10778    void operator =(const FFbase&){ /*disallow direct assignment */}
10779};
10780
10781// Copy fields out of row
10782// func:amc.FFbase.base.CopyOut
10783void                 fbase_CopyOut(amc::FFbase &row, dmmeta::Fbase &out) __attribute__((nothrow));
10784// Copy fields in to row
10785// func:amc.FFbase.base.CopyIn
10786void                 fbase_CopyIn(amc::FFbase &row, dmmeta::Fbase &in) __attribute__((nothrow));
10787
10788// Set all fields to initial values.
10789// func:amc.FFbase..Init
10790void                 FFbase_Init(amc::FFbase& fbase);
10791// func:amc.FFbase..Uninit
10792void                 FFbase_Uninit(amc::FFbase& fbase) __attribute__((nothrow));
10793
10794// --- amc.FFbigend
10795// create: amc.FDb.fbigend (Lary)
10796// access: amc.FField.c_fbigend (Ptr)
10797struct FFbigend { // amc.FFbigend
10798    algo::Smallstr100   field;     //
10799    algo::Comment       comment;   //
10800    amc::FField*        p_field;   // reference to parent row
10801private:
10802    friend amc::FFbigend&       fbigend_Alloc() __attribute__((__warn_unused_result__, nothrow));
10803    friend amc::FFbigend*       fbigend_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10804    friend void                 fbigend_RemoveLast() __attribute__((nothrow));
10805    FFbigend();
10806    ~FFbigend();
10807    FFbigend(const FFbigend&){ /*disallow copy constructor */}
10808    void operator =(const FFbigend&){ /*disallow direct assignment */}
10809};
10810
10811// Copy fields out of row
10812// func:amc.FFbigend.msghdr.CopyOut
10813void                 fbigend_CopyOut(amc::FFbigend &row, dmmeta::Fbigend &out) __attribute__((nothrow));
10814// Copy fields in to row
10815// func:amc.FFbigend.msghdr.CopyIn
10816void                 fbigend_CopyIn(amc::FFbigend &row, dmmeta::Fbigend &in) __attribute__((nothrow));
10817
10818// Set all fields to initial values.
10819// func:amc.FFbigend..Init
10820void                 FFbigend_Init(amc::FFbigend& fbigend);
10821// func:amc.FFbigend..Uninit
10822void                 FFbigend_Uninit(amc::FFbigend& fbigend) __attribute__((nothrow));
10823
10824// --- amc.FFbitset
10825// create: amc.FDb.fbitset (Lary)
10826// global access: ind_fbitset (Thash)
10827// access: amc.FField.c_fbitset (Ptr)
10828struct FFbitset { // amc.FFbitset
10829    amc::FFbitset*      ind_fbitset_next;   // hash next
10830    algo::Smallstr100   field;              //
10831    amc::FField*        p_field;            // reference to parent row
10832private:
10833    friend amc::FFbitset&       fbitset_Alloc() __attribute__((__warn_unused_result__, nothrow));
10834    friend amc::FFbitset*       fbitset_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10835    friend void                 fbitset_RemoveLast() __attribute__((nothrow));
10836    FFbitset();
10837    ~FFbitset();
10838    FFbitset(const FFbitset&){ /*disallow copy constructor */}
10839    void operator =(const FFbitset&){ /*disallow direct assignment */}
10840};
10841
10842// Copy fields out of row
10843// func:amc.FFbitset.msghdr.CopyOut
10844void                 fbitset_CopyOut(amc::FFbitset &row, dmmeta::Fbitset &out) __attribute__((nothrow));
10845// Copy fields in to row
10846// func:amc.FFbitset.msghdr.CopyIn
10847void                 fbitset_CopyIn(amc::FFbitset &row, dmmeta::Fbitset &in) __attribute__((nothrow));
10848
10849// Set all fields to initial values.
10850// func:amc.FFbitset..Init
10851void                 FFbitset_Init(amc::FFbitset& fbitset);
10852// func:amc.FFbitset..Uninit
10853void                 FFbitset_Uninit(amc::FFbitset& fbitset) __attribute__((nothrow));
10854
10855// --- amc.FFbuf
10856// create: amc.FDb.fbuf (Lary)
10857// global access: ind_fbuf (Thash)
10858// access: amc.FField.c_fbuf (Ptr)
10859struct FFbuf { // amc.FFbuf
10860    amc::FFbuf*         ind_fbuf_next;   // hash next
10861    algo::Smallstr100   field;           //
10862    u32                 max;             //   0  Size of buffer in bytes
10863    algo::Smallstr50    fbuftype;        // Type of buffer
10864    algo::Smallstr100   insready;        //
10865    algo::Smallstr100   inseof;          //
10866    amc::FField*        p_insready;      // reference to parent row
10867    amc::FField*        p_inseof;        // reference to parent row
10868private:
10869    friend amc::FFbuf&          fbuf_Alloc() __attribute__((__warn_unused_result__, nothrow));
10870    friend amc::FFbuf*          fbuf_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10871    friend void                 fbuf_RemoveLast() __attribute__((nothrow));
10872    FFbuf();
10873    ~FFbuf();
10874    FFbuf(const FFbuf&){ /*disallow copy constructor */}
10875    void operator =(const FFbuf&){ /*disallow direct assignment */}
10876};
10877
10878// Copy fields out of row
10879// func:amc.FFbuf.msghdr.CopyOut
10880void                 fbuf_CopyOut(amc::FFbuf &row, dmmeta::Fbuf &out) __attribute__((nothrow));
10881// Copy fields in to row
10882// func:amc.FFbuf.msghdr.CopyIn
10883void                 fbuf_CopyIn(amc::FFbuf &row, dmmeta::Fbuf &in) __attribute__((nothrow));
10884
10885// func:amc.FFbuf.fbufdir.Get
10886algo::Smallstr50     fbufdir_Get(amc::FFbuf& fbuf) __attribute__((__warn_unused_result__, nothrow));
10887
10888// Set all fields to initial values.
10889// func:amc.FFbuf..Init
10890void                 FFbuf_Init(amc::FFbuf& fbuf);
10891// func:amc.FFbuf..Uninit
10892void                 FFbuf_Uninit(amc::FFbuf& fbuf) __attribute__((nothrow));
10893
10894// --- amc.FFcast
10895// create: amc.FDb.fcast (Lary)
10896// access: amc.FField.c_fcast (Ptr)
10897struct FFcast { // amc.FFcast
10898    algo::Smallstr100   field;   //
10899    algo::Smallstr100   expr;    //
10900private:
10901    friend amc::FFcast&         fcast_Alloc() __attribute__((__warn_unused_result__, nothrow));
10902    friend amc::FFcast*         fcast_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10903    friend void                 fcast_RemoveLast() __attribute__((nothrow));
10904    FFcast();
10905    ~FFcast();
10906    FFcast(const FFcast&){ /*disallow copy constructor */}
10907    void operator =(const FFcast&){ /*disallow direct assignment */}
10908};
10909
10910// Copy fields out of row
10911// func:amc.FFcast.msghdr.CopyOut
10912void                 fcast_CopyOut(amc::FFcast &row, dmmeta::Fcast &out) __attribute__((nothrow));
10913// Copy fields in to row
10914// func:amc.FFcast.msghdr.CopyIn
10915void                 fcast_CopyIn(amc::FFcast &row, dmmeta::Fcast &in) __attribute__((nothrow));
10916
10917// func:amc.FFcast..Uninit
10918void                 FFcast_Uninit(amc::FFcast& fcast) __attribute__((nothrow));
10919
10920// --- amc.FFcleanup
10921// create: amc.FDb.fcleanup (Lary)
10922// access: amc.FField.c_fcleanup (Ptr)
10923struct FFcleanup { // amc.FFcleanup
10924    algo::Smallstr100   field;     //
10925    amc::FField*        p_field;   // reference to parent row
10926private:
10927    friend amc::FFcleanup&      fcleanup_Alloc() __attribute__((__warn_unused_result__, nothrow));
10928    friend amc::FFcleanup*      fcleanup_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10929    friend void                 fcleanup_RemoveLast() __attribute__((nothrow));
10930    FFcleanup();
10931    ~FFcleanup();
10932    FFcleanup(const FFcleanup&){ /*disallow copy constructor */}
10933    void operator =(const FFcleanup&){ /*disallow direct assignment */}
10934};
10935
10936// Copy fields out of row
10937// func:amc.FFcleanup.msghdr.CopyOut
10938void                 fcleanup_CopyOut(amc::FFcleanup &row, dmmeta::Fcleanup &out) __attribute__((nothrow));
10939// Copy fields in to row
10940// func:amc.FFcleanup.msghdr.CopyIn
10941void                 fcleanup_CopyIn(amc::FFcleanup &row, dmmeta::Fcleanup &in) __attribute__((nothrow));
10942
10943// Set all fields to initial values.
10944// func:amc.FFcleanup..Init
10945void                 FFcleanup_Init(amc::FFcleanup& fcleanup);
10946// func:amc.FFcleanup..Uninit
10947void                 FFcleanup_Uninit(amc::FFcleanup& fcleanup) __attribute__((nothrow));
10948
10949// --- amc.FFcmap
10950// create: amc.FDb.fcmap (Lary)
10951// global access: ind_fcmap (Thash)
10952// access: amc.FField.zs_fcmap (Llist)
10953struct FFcmap { // amc.FFcmap
10954    amc::FFcmap*        ind_fcmap_next;   // hash next
10955    algo::Smallstr250   fcmap;            // cstring maybe?
10956    bool                bidir;            //   true
10957    algo::Comment       comment;          //
10958    amc::FField*        p_leftField;      // reference to parent row
10959    amc::FField*        p_rightField;     // reference to parent row
10960    amc::FFunc*         c_convfunc;       // Generated conversion func. optional pointer
10961    amc::FFcmap*        zs_fcmap_next;    // zslist link; -1 means not-in-list
10962private:
10963    friend amc::FFcmap&         fcmap_Alloc() __attribute__((__warn_unused_result__, nothrow));
10964    friend amc::FFcmap*         fcmap_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
10965    friend void                 fcmap_RemoveLast() __attribute__((nothrow));
10966    FFcmap();
10967    ~FFcmap();
10968    FFcmap(const FFcmap&){ /*disallow copy constructor */}
10969    void operator =(const FFcmap&){ /*disallow direct assignment */}
10970};
10971
10972// Copy fields out of row
10973// func:amc.FFcmap.base.CopyOut
10974void                 fcmap_CopyOut(amc::FFcmap &row, dmmeta::Fcmap &out) __attribute__((nothrow));
10975// Copy fields in to row
10976// func:amc.FFcmap.base.CopyIn
10977void                 fcmap_CopyIn(amc::FFcmap &row, dmmeta::Fcmap &in) __attribute__((nothrow));
10978
10979// func:amc.FFcmap.leftField.Get
10980algo::Smallstr100    leftField_Get(amc::FFcmap& fcmap) __attribute__((__warn_unused_result__, nothrow));
10981
10982// func:amc.FFcmap.leftVal.Get
10983algo::Smallstr40     leftVal_Get(amc::FFcmap& fcmap) __attribute__((__warn_unused_result__, nothrow));
10984
10985// func:amc.FFcmap.rightVal.Get
10986algo::Smallstr40     rightVal_Get(amc::FFcmap& fcmap) __attribute__((__warn_unused_result__, nothrow));
10987
10988// func:amc.FFcmap.rightField.Get
10989algo::Smallstr100    rightField_Get(amc::FFcmap& fcmap) __attribute__((__warn_unused_result__, nothrow));
10990
10991// Set all fields to initial values.
10992// func:amc.FFcmap..Init
10993void                 FFcmap_Init(amc::FFcmap& fcmap);
10994// func:amc.FFcmap..Uninit
10995void                 FFcmap_Uninit(amc::FFcmap& fcmap) __attribute__((nothrow));
10996
10997// --- amc.FFcmdline
10998// create: amc.FDb.fcmdline (Lary)
10999// access: amc.FNs.c_fcmdline (Ptr)
11000struct FFcmdline { // amc.FFcmdline
11001    algo::Smallstr100   field;           // Parent field
11002    bool                read;            //   true  Read the command line automatically from main?
11003    algo::Smallstr100   basecmdline;     // Optional command line to merge with this one
11004    algo::Comment       comment;         //
11005    amc::FField*        p_field;         // reference to parent row
11006    amc::FNs*           p_ns;            // reference to parent row
11007    amc::FField*        p_basecmdline;   // reference to parent row
11008private:
11009    friend amc::FFcmdline&      fcmdline_Alloc() __attribute__((__warn_unused_result__, nothrow));
11010    friend amc::FFcmdline*      fcmdline_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11011    friend void                 fcmdline_RemoveLast() __attribute__((nothrow));
11012    FFcmdline();
11013    ~FFcmdline();
11014    FFcmdline(const FFcmdline&){ /*disallow copy constructor */}
11015    void operator =(const FFcmdline&){ /*disallow direct assignment */}
11016};
11017
11018// Copy fields out of row
11019// func:amc.FFcmdline.base.CopyOut
11020void                 fcmdline_CopyOut(amc::FFcmdline &row, dmmeta::Fcmdline &out) __attribute__((nothrow));
11021// Copy fields in to row
11022// func:amc.FFcmdline.base.CopyIn
11023void                 fcmdline_CopyIn(amc::FFcmdline &row, dmmeta::Fcmdline &in) __attribute__((nothrow));
11024
11025// func:amc.FFcmdline.ns.Get
11026algo::Smallstr16     ns_Get(amc::FFcmdline& fcmdline) __attribute__((__warn_unused_result__, nothrow));
11027
11028// Set all fields to initial values.
11029// func:amc.FFcmdline..Init
11030void                 FFcmdline_Init(amc::FFcmdline& fcmdline);
11031// func:amc.FFcmdline..Uninit
11032void                 FFcmdline_Uninit(amc::FFcmdline& fcmdline) __attribute__((nothrow));
11033
11034// --- amc.FFcmp
11035// create: amc.FDb.fcmp (Lary)
11036// access: amc.FField.c_fcmp (Ptr)
11037struct FFcmp { // amc.FFcmp
11038    algo::Smallstr100   field;         // Target field
11039    bool                versionsort;   //   false  Use version sort (detect embedded integers in string)
11040    bool                casesens;      //   true  Comparison is case-sensitive
11041    bool                extrn;         //   false  Whether implementation is external
11042    algo::Comment       comment;       //
11043private:
11044    friend amc::FFcmp&          fcmp_Alloc() __attribute__((__warn_unused_result__, nothrow));
11045    friend amc::FFcmp*          fcmp_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11046    friend void                 fcmp_RemoveLast() __attribute__((nothrow));
11047    FFcmp();
11048    ~FFcmp();
11049    FFcmp(const FFcmp&){ /*disallow copy constructor */}
11050    void operator =(const FFcmp&){ /*disallow direct assignment */}
11051};
11052
11053// Copy fields out of row
11054// func:amc.FFcmp.msghdr.CopyOut
11055void                 fcmp_CopyOut(amc::FFcmp &row, dmmeta::Fcmp &out) __attribute__((nothrow));
11056// Copy fields in to row
11057// func:amc.FFcmp.msghdr.CopyIn
11058void                 fcmp_CopyIn(amc::FFcmp &row, dmmeta::Fcmp &in) __attribute__((nothrow));
11059
11060// Set all fields to initial values.
11061// func:amc.FFcmp..Init
11062void                 FFcmp_Init(amc::FFcmp& fcmp);
11063// func:amc.FFcmp..Uninit
11064void                 FFcmp_Uninit(amc::FFcmp& fcmp) __attribute__((nothrow));
11065
11066// --- amc.FFcompact
11067// create: amc.FDb.fcompact (Lary)
11068// access: amc.FField.c_fcompact (Ptr)
11069struct FFcompact { // amc.FFcompact
11070    algo::Smallstr100   field;     //
11071    algo::Comment       comment;   //
11072private:
11073    friend amc::FFcompact&      fcompact_Alloc() __attribute__((__warn_unused_result__, nothrow));
11074    friend amc::FFcompact*      fcompact_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11075    friend void                 fcompact_RemoveLast() __attribute__((nothrow));
11076    FFcompact();
11077    ~FFcompact();
11078    FFcompact(const FFcompact&){ /*disallow copy constructor */}
11079    void operator =(const FFcompact&){ /*disallow direct assignment */}
11080};
11081
11082// Copy fields out of row
11083// func:amc.FFcompact.base.CopyOut
11084void                 fcompact_CopyOut(amc::FFcompact &row, dmmeta::Fcompact &out) __attribute__((nothrow));
11085// Copy fields in to row
11086// func:amc.FFcompact.base.CopyIn
11087void                 fcompact_CopyIn(amc::FFcompact &row, dmmeta::Fcompact &in) __attribute__((nothrow));
11088
11089// func:amc.FFcompact..Uninit
11090void                 FFcompact_Uninit(amc::FFcompact& fcompact) __attribute__((nothrow));
11091
11092// --- amc.FFconst
11093// create: amc.FDb.fconst (Lary)
11094// global access: ind_fconst (Thash)
11095// global access: ind_fconst_int (Thash)
11096// access: amc.FEnumstr.c_fconst (Ptrary)
11097// access: amc.FField.c_fconst (Ptrary)
11098// access: amc.FField.c_inkey_fconst (Ptr)
11099struct FFconst { // amc.FFconst
11100    amc::FFconst*       ind_fconst_next;         // hash next
11101    amc::FFconst*       ind_fconst_int_next;     // hash next
11102    algo::Smallstr100   fconst;                  //
11103    algo::CppExpr       value;                   //
11104    algo::Comment       comment;                 //
11105    amc::FField*        p_field;                 // reference to parent row
11106    algo::cstring       cpp_value;               //
11107    i64                 int_val;                 //   0  integer value
11108    algo::cstring       cpp_name;                // symbol to use in cpp file
11109    bool                field_c_fconst_in_ary;   //   false  membership flag
11110private:
11111    friend amc::FFconst&        fconst_Alloc() __attribute__((__warn_unused_result__, nothrow));
11112    friend amc::FFconst*        fconst_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11113    friend void                 fconst_RemoveLast() __attribute__((nothrow));
11114    FFconst();
11115    ~FFconst();
11116    FFconst(const FFconst&){ /*disallow copy constructor */}
11117    void operator =(const FFconst&){ /*disallow direct assignment */}
11118};
11119
11120// Copy fields out of row
11121// func:amc.FFconst.msghdr.CopyOut
11122void                 fconst_CopyOut(amc::FFconst &row, dmmeta::Fconst &out) __attribute__((nothrow));
11123// Copy fields in to row
11124// func:amc.FFconst.msghdr.CopyIn
11125void                 fconst_CopyIn(amc::FFconst &row, dmmeta::Fconst &in) __attribute__((nothrow));
11126
11127// func:amc.FFconst.field.Get
11128algo::Smallstr100    field_Get(amc::FFconst& fconst) __attribute__((__warn_unused_result__, nothrow));
11129
11130// func:amc.FFconst.name.Get
11131algo::Smallstr100    name_Get(amc::FFconst& fconst) __attribute__((__warn_unused_result__, nothrow));
11132
11133// Set all fields to initial values.
11134// func:amc.FFconst..Init
11135void                 FFconst_Init(amc::FFconst& fconst);
11136// func:amc.FFconst..Uninit
11137void                 FFconst_Uninit(amc::FFconst& fconst) __attribute__((nothrow));
11138
11139// --- amc.FFcurs
11140// create: amc.FDb.fcurs (Lary)
11141// global access: ind_fcurs (Thash)
11142// access: amc.FCtype.c_fcurs (Ptrary)
11143struct FFcurs { // amc.FFcurs
11144    amc::FFcurs*       ind_fcurs_next;         // hash next
11145    algo::Smallstr50   fcurs;                  //
11146    algo::Comment      comment;                //
11147    amc::FField*       p_field;                // reference to parent row
11148    bool               ctype_c_fcurs_in_ary;   //   false  membership flag
11149private:
11150    friend amc::FFcurs&         fcurs_Alloc() __attribute__((__warn_unused_result__, nothrow));
11151    friend amc::FFcurs*         fcurs_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11152    friend void                 fcurs_RemoveLast() __attribute__((nothrow));
11153    FFcurs();
11154    ~FFcurs();
11155    FFcurs(const FFcurs&){ /*disallow copy constructor */}
11156    void operator =(const FFcurs&){ /*disallow direct assignment */}
11157};
11158
11159// Copy fields out of row
11160// func:amc.FFcurs.base.CopyOut
11161void                 fcurs_CopyOut(amc::FFcurs &row, dmmeta::Fcurs &out) __attribute__((nothrow));
11162// Copy fields in to row
11163// func:amc.FFcurs.base.CopyIn
11164void                 fcurs_CopyIn(amc::FFcurs &row, dmmeta::Fcurs &in) __attribute__((nothrow));
11165
11166// func:amc.FFcurs.field.Get
11167algo::Smallstr100    field_Get(amc::FFcurs& fcurs) __attribute__((__warn_unused_result__, nothrow));
11168
11169// func:amc.FFcurs.ctype.Get
11170algo::Smallstr100    ctype_Get(amc::FFcurs& fcurs) __attribute__((__warn_unused_result__, nothrow));
11171
11172// func:amc.FFcurs.curstype.Get
11173algo::Smallstr50     curstype_Get(amc::FFcurs& fcurs) __attribute__((__warn_unused_result__, nothrow));
11174
11175// Set all fields to initial values.
11176// func:amc.FFcurs..Init
11177void                 FFcurs_Init(amc::FFcurs& fcurs);
11178// func:amc.FFcurs..Uninit
11179void                 FFcurs_Uninit(amc::FFcurs& fcurs) __attribute__((nothrow));
11180
11181// --- amc.FFdec
11182// create: amc.FDb.fdec (Lary)
11183// global access: ind_fdec (Thash)
11184// access: amc.FField.c_fdec (Ptr)
11185struct FFdec { // amc.FFdec
11186    amc::FFdec*         ind_fdec_next;   // hash next
11187    algo::Smallstr100   field;           // Target field
11188    i32                 nplace;          //   0  Number of implied decimal places
11189    bool                fixedfmt;        //   false  Print exactly SCALE chars after decimal point
11190    amc::FField*        p_field;         // reference to parent row
11191private:
11192    friend amc::FFdec&          fdec_Alloc() __attribute__((__warn_unused_result__, nothrow));
11193    friend amc::FFdec*          fdec_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11194    friend void                 fdec_RemoveLast() __attribute__((nothrow));
11195    FFdec();
11196    ~FFdec();
11197    FFdec(const FFdec&){ /*disallow copy constructor */}
11198    void operator =(const FFdec&){ /*disallow direct assignment */}
11199};
11200
11201// Copy fields out of row
11202// func:amc.FFdec.msghdr.CopyOut
11203void                 fdec_CopyOut(amc::FFdec &row, dmmeta::Fdec &out) __attribute__((nothrow));
11204// Copy fields in to row
11205// func:amc.FFdec.msghdr.CopyIn
11206void                 fdec_CopyIn(amc::FFdec &row, dmmeta::Fdec &in) __attribute__((nothrow));
11207
11208// Set all fields to initial values.
11209// func:amc.FFdec..Init
11210void                 FFdec_Init(amc::FFdec& fdec);
11211// func:amc.FFdec..Uninit
11212void                 FFdec_Uninit(amc::FFdec& fdec) __attribute__((nothrow));
11213
11214// --- amc.FFdelay
11215// create: amc.FDb.fdelay (Lary)
11216// access: amc.FFstep.c_fdelay (Ptr)
11217struct FFdelay { // amc.FFdelay
11218    algo::Smallstr100   fstep;   //
11219    algo::I64Dec9       delay;   // Delay between steps in seconds
11220    bool                scale;   //   false  Does delay apply to the whole list?
11221private:
11222    friend amc::FFdelay&        fdelay_Alloc() __attribute__((__warn_unused_result__, nothrow));
11223    friend amc::FFdelay*        fdelay_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11224    friend void                 fdelay_RemoveLast() __attribute__((nothrow));
11225    FFdelay();
11226    ~FFdelay();
11227    FFdelay(const FFdelay&){ /*disallow copy constructor */}
11228    void operator =(const FFdelay&){ /*disallow direct assignment */}
11229};
11230
11231// Copy fields out of row
11232// func:amc.FFdelay.msghdr.CopyOut
11233void                 fdelay_CopyOut(amc::FFdelay &row, dmmeta::Fdelay &out) __attribute__((nothrow));
11234// Copy fields in to row
11235// func:amc.FFdelay.msghdr.CopyIn
11236void                 fdelay_CopyIn(amc::FFdelay &row, dmmeta::Fdelay &in) __attribute__((nothrow));
11237
11238// Set all fields to initial values.
11239// func:amc.FFdelay..Init
11240void                 FFdelay_Init(amc::FFdelay& fdelay);
11241// func:amc.FFdelay..Uninit
11242void                 FFdelay_Uninit(amc::FFdelay& fdelay) __attribute__((nothrow));
11243
11244// --- amc.FFfast
11245// create: amc.FDb.ffast (Lary)
11246// access: amc.FCtype.c_ffast (Ptrary)
11247// access: amc.FField.c_ffast_field (Ptr)
11248// access: amc.FField.c_ffast_length (Ptr)
11249// access: amc.FField.c_ffast_mantissa (Ptr)
11250// access: amc.FField.c_ffast (Ptrary)
11251struct FFfast { // amc.FFfast
11252    algo::Smallstr100   ffast;                  //
11253    algo::Smallstr50    name;                   //
11254    u32                 id;                     //   0
11255    u32                 pos;                    //   0
11256    bool                optional;               //   false
11257    algo::Smallstr50    encoding;               //
11258    algo::Smallstr50    op;                     //
11259    algo::CppExpr       value;                  //
11260    algo::Comment       comment;                //
11261    amc::FField*        p_field;                // reference to parent row
11262    bool                ctype_c_ffast_in_ary;   //   false  membership flag
11263    bool                field_c_ffast_in_ary;   //   false  membership flag
11264private:
11265    friend amc::FFfast&         ffast_Alloc() __attribute__((__warn_unused_result__, nothrow));
11266    friend amc::FFfast*         ffast_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11267    friend void                 ffast_RemoveAll() __attribute__((nothrow));
11268    friend void                 ffast_RemoveLast() __attribute__((nothrow));
11269    FFfast();
11270    ~FFfast();
11271    FFfast(const FFfast&){ /*disallow copy constructor */}
11272    void operator =(const FFfast&){ /*disallow direct assignment */}
11273};
11274
11275// Copy fields out of row
11276// func:amc.FFfast.base.CopyOut
11277void                 ffast_CopyOut(amc::FFfast &row, dmmeta::Ffast &out) __attribute__((nothrow));
11278// Copy fields in to row
11279// func:amc.FFfast.base.CopyIn
11280void                 ffast_CopyIn(amc::FFfast &row, dmmeta::Ffast &in) __attribute__((nothrow));
11281
11282// func:amc.FFfast.field.Get
11283algo::Smallstr100    field_Get(amc::FFfast& ffast) __attribute__((__warn_unused_result__, nothrow));
11284
11285// func:amc.FFfast.ctype.Get
11286algo::Smallstr100    ctype_Get(amc::FFfast& ffast) __attribute__((__warn_unused_result__, nothrow));
11287
11288// func:amc.FFfast.fastinstr.Get
11289algo::Smallstr50     fastinstr_Get(amc::FFfast& ffast) __attribute__((__warn_unused_result__, nothrow));
11290
11291// Set all fields to initial values.
11292// func:amc.FFfast..Init
11293void                 FFfast_Init(amc::FFfast& ffast);
11294// func:amc.FFfast..Uninit
11295void                 FFfast_Uninit(amc::FFfast& ffast) __attribute__((nothrow));
11296
11297// --- amc.FFflag
11298// create: amc.FDb.fflag (Lary)
11299// global access: ind_fflag (Thash)
11300// access: amc.FField.c_fflag (Ptr)
11301struct FFflag { // amc.FFflag
11302    amc::FFflag*        ind_fflag_next;   // hash next
11303    algo::Smallstr100   field;            //
11304    bool                cumulative;       //   false  Accumulate on every read
11305    algo::cstring       emptyval;         //   ""
11306    algo::Comment       comment;          //
11307private:
11308    friend amc::FFflag&         fflag_Alloc() __attribute__((__warn_unused_result__, nothrow));
11309    friend amc::FFflag*         fflag_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11310    friend void                 fflag_RemoveAll() __attribute__((nothrow));
11311    friend void                 fflag_RemoveLast() __attribute__((nothrow));
11312    FFflag();
11313    ~FFflag();
11314    FFflag(const FFflag&){ /*disallow copy constructor */}
11315    void operator =(const FFflag&){ /*disallow direct assignment */}
11316};
11317
11318// Copy fields out of row
11319// func:amc.FFflag.base.CopyOut
11320void                 fflag_CopyOut(amc::FFflag &row, dmmeta::Fflag &out) __attribute__((nothrow));
11321// Copy fields in to row
11322// func:amc.FFflag.base.CopyIn
11323void                 fflag_CopyIn(amc::FFflag &row, dmmeta::Fflag &in) __attribute__((nothrow));
11324
11325// Set all fields to initial values.
11326// func:amc.FFflag..Init
11327void                 FFflag_Init(amc::FFflag& fflag);
11328// func:amc.FFflag..Uninit
11329void                 FFflag_Uninit(amc::FFflag& fflag) __attribute__((nothrow));
11330
11331// --- amc.FField
11332// create: amc.FDb.field (Lary)
11333// global access: ind_field (Thash)
11334// global access: c_malloc (Ptr)
11335// global access: zs_ordkeyfield (Llist)
11336// global access: c_tempfield (Ptrary)
11337// access: amc.FBasepool.p_field (Upptr)
11338// access: amc.FBasepool.p_base (Upptr)
11339// access: amc.FBitfld.p_srcfield (Upptr)
11340// access: amc.FBitfld.p_field (Upptr)
11341// access: amc.FCascdel.p_field (Upptr)
11342// access: amc.FCtype.c_field (Ptrary)
11343// access: amc.FCtype.c_varlenfld (Ptr)
11344// access: amc.FCtype.c_optfld (Ptr)
11345// access: amc.FCtype.c_datafld (Ptrary)
11346// access: amc.FCtype.zd_inst (Llist)
11347// access: amc.FCtype.zd_access (Llist)
11348// access: amc.FCtype.c_pkeyfield (Ptr)
11349// access: amc.FFalias.p_srcfield (Upptr)
11350// access: amc.FFbigend.p_field (Upptr)
11351// access: amc.FFbitset.p_field (Upptr)
11352// access: amc.FFbuf.p_insready (Upptr)
11353// access: amc.FFbuf.p_inseof (Upptr)
11354// access: amc.FFcleanup.p_field (Upptr)
11355// access: amc.FFcmap.p_leftField (Upptr)
11356// access: amc.FFcmap.p_rightField (Upptr)
11357// access: amc.FFcmdline.p_field (Upptr)
11358// access: amc.FFcmdline.p_basecmdline (Upptr)
11359// access: amc.FFconst.p_field (Upptr)
11360// access: amc.FFcurs.p_field (Upptr)
11361// access: amc.FFdec.p_field (Upptr)
11362// access: amc.FFfast.p_field (Upptr)
11363// access: amc.FFinput.p_field (Upptr)
11364// access: amc.FFldoffset.p_field (Upptr)
11365// access: amc.FFloadtuples.p_field (Upptr)
11366// access: amc.FFsort.p_field (Upptr)
11367// access: amc.FFsort.p_sortfld (Upptr)
11368// access: amc.FFstep.p_field (Upptr)
11369// access: amc.FGconst.p_namefld (Upptr)
11370// access: amc.FGconst.p_field (Upptr)
11371// access: amc.FGstatic.p_field (Upptr)
11372// access: amc.FHook.p_field (Upptr)
11373// access: amc.FLenfld.p_field (Upptr)
11374// access: amc.FNs.c_globfld (Ptr)
11375// access: amc.FNsx.p_pool (Upptr)
11376// access: amc.FPmaskfld.p_field (Upptr)
11377// access: amc.FPmaskfldMember.p_field (Upptr)
11378// access: amc.FPtrary.p_field (Upptr)
11379// access: amc.FSmallstr.p_field (Upptr)
11380// access: amc.FSortfld.p_sortfld (Upptr)
11381// access: amc.FSsimsort.p_sortfld (Upptr)
11382// access: amc.FSubstr.p_field (Upptr)
11383// access: amc.FSubstr.p_srcfield (Upptr)
11384// access: amc.FTary.p_field (Upptr)
11385// access: amc.FThash.p_hashfld (Upptr)
11386// access: amc.FThash.p_field (Upptr)
11387// access: amc.FTypefld.p_field (Upptr)
11388// access: amc.FXref.p_field (Upptr)
11389// access: amc.FXref.p_viafld (Upptr)
11390// access: amc.FXref.p_keyfld (Upptr)
11391// access: amc.Genctx.p_field (Upptr)
11392// access: amc.Genpnew.p_optfld (Upptr)
11393// access: amc.Genpnew.p_varlenfld (Upptr)
11394struct FField { // amc.FField
11395    amc::FField*             zd_inst_next;              // zslist link; -1 means not-in-list
11396    amc::FField*             zd_inst_prev;              // previous element
11397    amc::FField*             zd_access_next;            // zslist link; -1 means not-in-list
11398    amc::FField*             zd_access_prev;            // previous element
11399    amc::FField*             ind_field_next;            // hash next
11400    amc::FField*             zs_ordkeyfield_next;       // zslist link; -1 means not-in-list
11401    algo::Smallstr100        field;                     // Primary key, as ctype.name
11402    algo::Smallstr100        arg;                       // Type of field
11403    algo::Smallstr50         reftype;                   //   "Val"  Type constructor
11404    algo::CppExpr            dflt;                      // Default value (c++ expression)
11405    algo::Comment            comment;                   //
11406    amc::FFsort*             c_fsort;                   // optional pointer
11407    amc::FFbitset*           c_fbitset;                 // optional pointer
11408    amc::FSmallstr*          c_smallstr;                // optional pointer
11409    amc::FFunc**             c_ffunc_elems;             // array of pointers
11410    u32                      c_ffunc_n;                 // array of pointers
11411    u32                      c_ffunc_max;               // capacity of allocated array
11412    algo::cstring            cpp_type;                  // C++ expression to use in declaration
11413    amc::FCtype*             p_ctype;                   // reference to parent row
11414    amc::FCtype*             p_arg;                     // reference to parent row
11415    amc::FXref*              c_xref;                    // optional pointer
11416    amc::FAnonfld*           c_anonfld;                 // optional pointer
11417    amc::FFldoffset*         c_fldoffset;               // optional pointer
11418    amc::FBasepool*          c_basepool;                // optional pointer
11419    amc::FLlist*             c_llist;                   // optional pointer
11420    amc::FThash*             c_thash;                   // optional pointer
11421    amc::FInlary*            c_inlary;                  // optional pointer
11422    amc::FTary*              c_tary;                    // optional pointer
11423    amc::FRowid*             c_rowid;                   // optional pointer
11424    amc::FCascdel*           c_cascdel;                 // optional pointer
11425    double                   rowid;                     //   0.0
11426    double                   child_rowid;               //   0.0  Rowid increment for next child
11427    amc::FGstatic*           c_gstatic;                 // optional pointer
11428    amc::FPtrary*            c_ptrary;                  // optional pointer
11429    amc::FPmaskfld*          c_pmaskfld;                // optional pointer
11430    amc::FTypefld*           c_typefld;                 // optional pointer
11431    amc::FFcleanup*          c_fcleanup;                // optional pointer
11432    amc::FFdec*              c_fdec;                    // optional pointer
11433    amc::FReftype*           p_reftype;                 // reference to parent row
11434    amc::FFconst**           c_fconst_elems;            // array of pointers
11435    u32                      c_fconst_n;                // array of pointers
11436    u32                      c_fconst_max;              // capacity of allocated array
11437    amc::FFinput*            c_finput;                  // optional pointer
11438    amc::FFoutput*           c_foutput;                 // optional pointer
11439    amc::FFbuf*              c_fbuf;                    // optional pointer
11440    amc::FFbigend*           c_fbigend;                 // optional pointer
11441    amc::FFstep*             c_fstep;                   // optional pointer
11442    amc::FFregx*             c_fregx;                   // optional pointer
11443    amc::FFcmp*              c_fcmp;                    // optional pointer
11444    amc::FFcast*             c_fcast;                   // optional pointer
11445    amc::FGconst*            c_gconst;                  // optional pointer
11446    amc::FBitfld*            c_bitfld;                  // optional pointer
11447    amc::FNoxref*            c_noxref;                  // optional pointer
11448    amc::FCppfunc*           c_cppfunc;                 // optional pointer
11449    amc::FSubstr*            c_substr;                  // optional pointer
11450    amc::FFcompact*          c_fcompact;                // optional pointer
11451    amc::FFindrem*           c_findrem;                 // optional pointer
11452    amc::FXref*              zd_xref_keyfld_head;       // zero-terminated doubly linked list
11453    i32                      zd_xref_keyfld_n;          // zero-terminated doubly linked list
11454    amc::FXref*              zd_xref_keyfld_tail;       // pointer to last element
11455    amc::FFcmap*             zs_fcmap_head;             // zero-terminated singly linked list
11456    amc::FFcmap*             zs_fcmap_tail;             // pointer to last element
11457    amc::FFconst*            c_inkey_fconst;            // optional pointer
11458    amc::FFbase*             c_fbase;                   // optional pointer
11459    amc::FFnoremove*         c_fnoremove;               // optional pointer
11460    amc::FSortfld*           c_sortfld;                 // optional pointer
11461    amc::FFtrace*            c_ftrace;                  // optional pointer
11462    bool                     reflect;                   //   false  Want reflection
11463    bool                     ctype_read;                //   false  Field is readable using its ctype's ReadStrptrMaybe function
11464    bool                     has_substr;                //   false
11465    bool                     need_firstchanged;         //   false
11466    bool                     do_trace;                  //   false  Enable tracing
11467    bool                     processed;                 //   false
11468    bool                     synthetic;                 //   false
11469    bool                     visit;                     //   false  Temporary flag
11470    amc::FHook*              c_hook;                    // optional pointer
11471    amc::FCharset*           c_charset;                 // optional pointer
11472    amc::FBitfld**           bh_bitfld_elems;           // binary heap by offset
11473    i32                      bh_bitfld_n;               // number of elements in the heap
11474    i32                      bh_bitfld_max;             // max elements in bh_bitfld_elems
11475    amc::FFunique*           c_funique;                 // optional pointer
11476    amc::FFuserinit*         c_fuserinit;               // optional pointer
11477    amc::FFflag*             c_fflag;                   // optional pointer
11478    amc::FFalias*            c_falias;                  // optional pointer
11479    amc::FFfast*             c_ffast_field;             // optional pointer
11480    amc::FFfast*             c_ffast_length;            // optional pointer
11481    amc::FFfast*             c_ffast_mantissa;          // optional pointer
11482    amc::FFfast**            c_ffast_elems;             // array of pointers
11483    u32                      c_ffast_n;                 // array of pointers
11484    u32                      c_ffast_max;               // capacity of allocated array
11485    amc::FPmaskfldMember**   c_pmaskfld_member_elems;   // array of pointers
11486    u32                      c_pmaskfld_member_n;       // array of pointers
11487    u32                      c_pmaskfld_member_max;     // capacity of allocated array
11488    bool                     ctype_c_datafld_in_ary;    //   false  membership flag
11489    bool                     _db_c_tempfield_in_ary;    //   false  membership flag
11490private:
11491    friend amc::FField&         field_Alloc() __attribute__((__warn_unused_result__, nothrow));
11492    friend amc::FField*         field_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
11493    friend void                 field_RemoveLast() __attribute__((nothrow));
11494    FField();
11495    ~FField();
11496    FField(const FField&){ /*disallow copy constructor */}
11497    void operator =(const FField&){ /*disallow direct assignment */}
11498};
11499
11500// Copy fields out of row
11501// func:amc.FField.msghdr.CopyOut
11502void                 field_CopyOut(amc::FField &row, dmmeta::Field &out) __attribute__((nothrow));
11503// Copy fields in to row
11504// func:amc.FField.msghdr.CopyIn
11505void                 field_CopyIn(amc::FField &row, dmmeta::Field &in) __attribute__((nothrow));
11506
11507// func:amc.FField.ctype.Get
11508algo::Smallstr100    ctype_Get(amc::FField& field) __attribute__((__warn_unused_result__, nothrow));
11509
11510// func:amc.FField.ns.Get
11511algo::Smallstr16     ns_Get(amc::FField& field) __attribute__((__warn_unused_result__, nothrow));
11512
11513// func:amc.FField.name.Get
11514algo::Smallstr50     name_Get(amc::FField& field) __attribute__((__warn_unused_result__, nothrow));
11515
11516// Insert row into pointer index. Return final membership status.
11517// func:amc.FField.c_fsort.InsertMaybe
11518bool                 c_fsort_InsertMaybe(amc::FField& field, amc::FFsort& row) __attribute__((nothrow));
11519// Remove element from index. If element is not in index, do nothing.
11520// func:amc.FField.c_fsort.Remove
11521void                 c_fsort_Remove(amc::FField& field, amc::FFsort& row) __attribute__((nothrow));
11522
11523// Insert row into pointer index. Return final membership status.
11524// func:amc.FField.c_fbitset.InsertMaybe
11525bool                 c_fbitset_InsertMaybe(amc::FField& field, amc::FFbitset& row) __attribute__((nothrow));
11526// Remove element from index. If element is not in index, do nothing.
11527// func:amc.FField.c_fbitset.Remove
11528void                 c_fbitset_Remove(amc::FField& field, amc::FFbitset& row) __attribute__((nothrow));
11529
11530// Insert row into pointer index. Return final membership status.
11531// func:amc.FField.c_smallstr.InsertMaybe
11532bool                 c_smallstr_InsertMaybe(amc::FField& field, amc::FSmallstr& row) __attribute__((nothrow));
11533// Remove element from index. If element is not in index, do nothing.
11534// func:amc.FField.c_smallstr.Remove
11535void                 c_smallstr_Remove(amc::FField& field, amc::FSmallstr& row) __attribute__((nothrow));
11536
11537// Return true if index is empty
11538// func:amc.FField.c_ffunc.EmptyQ
11539bool                 c_ffunc_EmptyQ(amc::FField& field) __attribute__((nothrow));
11540// Look up row by row id. Return NULL if out of range
11541// func:amc.FField.c_ffunc.Find
11542amc::FFunc*          c_ffunc_Find(amc::FField& field, u32 t) __attribute__((__warn_unused_result__, nothrow));
11543// Return array of pointers
11544// func:amc.FField.c_ffunc.Getary
11545algo::aryptr<amc::FFunc*> c_ffunc_Getary(amc::FField& field) __attribute__((nothrow));
11546// Insert pointer to row into array. Row must not already be in array.
11547// If pointer is already in the array, it may be inserted twice.
11548// func:amc.FField.c_ffunc.Insert
11549void                 c_ffunc_Insert(amc::FField& field, amc::FFunc& row) __attribute__((nothrow));
11550// Insert pointer to row in array.
11551// If row is already in the array, do nothing.
11552// Linear search is used to locate the element.
11553// Return value: whether element was inserted into array.
11554// func:amc.FField.c_ffunc.ScanInsertMaybe
11555bool                 c_ffunc_ScanInsertMaybe(amc::FField& field, amc::FFunc& row) __attribute__((nothrow));
11556// Return number of items in the pointer array
11557// func:amc.FField.c_ffunc.N
11558i32                  c_ffunc_N(const amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11559// Find element using linear scan. If element is in array, remove, otherwise do nothing
11560// func:amc.FField.c_ffunc.Remove
11561void                 c_ffunc_Remove(amc::FField& field, amc::FFunc& row) __attribute__((nothrow));
11562// Empty the index. (The rows are not deleted)
11563// func:amc.FField.c_ffunc.RemoveAll
11564void                 c_ffunc_RemoveAll(amc::FField& field) __attribute__((nothrow));
11565// Reserve space in index for N more elements;
11566// func:amc.FField.c_ffunc.Reserve
11567void                 c_ffunc_Reserve(amc::FField& field, u32 n) __attribute__((nothrow));
11568// Return reference without bounds checking
11569// func:amc.FField.c_ffunc.qFind
11570amc::FFunc&          c_ffunc_qFind(amc::FField& field, u32 idx) __attribute__((nothrow));
11571// Reference to last element without bounds checking
11572// func:amc.FField.c_ffunc.qLast
11573amc::FFunc&          c_ffunc_qLast(amc::FField& field) __attribute__((nothrow));
11574
11575// Insert row into pointer index. Return final membership status.
11576// func:amc.FField.c_xref.InsertMaybe
11577bool                 c_xref_InsertMaybe(amc::FField& field, amc::FXref& row) __attribute__((nothrow));
11578// Remove element from index. If element is not in index, do nothing.
11579// func:amc.FField.c_xref.Remove
11580void                 c_xref_Remove(amc::FField& field, amc::FXref& row) __attribute__((nothrow));
11581
11582// Insert row into pointer index. Return final membership status.
11583// func:amc.FField.c_anonfld.InsertMaybe
11584bool                 c_anonfld_InsertMaybe(amc::FField& field, amc::FAnonfld& row) __attribute__((nothrow));
11585// Remove element from index. If element is not in index, do nothing.
11586// func:amc.FField.c_anonfld.Remove
11587void                 c_anonfld_Remove(amc::FField& field, amc::FAnonfld& row) __attribute__((nothrow));
11588
11589// Insert row into pointer index. Return final membership status.
11590// func:amc.FField.c_fldoffset.InsertMaybe
11591bool                 c_fldoffset_InsertMaybe(amc::FField& field, amc::FFldoffset& row) __attribute__((nothrow));
11592// Remove element from index. If element is not in index, do nothing.
11593// func:amc.FField.c_fldoffset.Remove
11594void                 c_fldoffset_Remove(amc::FField& field, amc::FFldoffset& row) __attribute__((nothrow));
11595
11596// Insert row into pointer index. Return final membership status.
11597// func:amc.FField.c_basepool.InsertMaybe
11598bool                 c_basepool_InsertMaybe(amc::FField& field, amc::FBasepool& row) __attribute__((nothrow));
11599// Remove element from index. If element is not in index, do nothing.
11600// func:amc.FField.c_basepool.Remove
11601void                 c_basepool_Remove(amc::FField& field, amc::FBasepool& row) __attribute__((nothrow));
11602
11603// Insert row into pointer index. Return final membership status.
11604// func:amc.FField.c_llist.InsertMaybe
11605bool                 c_llist_InsertMaybe(amc::FField& field, amc::FLlist& row) __attribute__((nothrow));
11606// Remove element from index. If element is not in index, do nothing.
11607// func:amc.FField.c_llist.Remove
11608void                 c_llist_Remove(amc::FField& field, amc::FLlist& row) __attribute__((nothrow));
11609
11610// Insert row into pointer index. Return final membership status.
11611// func:amc.FField.c_thash.InsertMaybe
11612bool                 c_thash_InsertMaybe(amc::FField& field, amc::FThash& row) __attribute__((nothrow));
11613// Remove element from index. If element is not in index, do nothing.
11614// func:amc.FField.c_thash.Remove
11615void                 c_thash_Remove(amc::FField& field, amc::FThash& row) __attribute__((nothrow));
11616
11617// Insert row into pointer index. Return final membership status.
11618// func:amc.FField.c_inlary.InsertMaybe
11619bool                 c_inlary_InsertMaybe(amc::FField& field, amc::FInlary& row) __attribute__((nothrow));
11620// Remove element from index. If element is not in index, do nothing.
11621// func:amc.FField.c_inlary.Remove
11622void                 c_inlary_Remove(amc::FField& field, amc::FInlary& row) __attribute__((nothrow));
11623
11624// Insert row into pointer index. Return final membership status.
11625// func:amc.FField.c_tary.InsertMaybe
11626bool                 c_tary_InsertMaybe(amc::FField& field, amc::FTary& row) __attribute__((nothrow));
11627// Remove element from index. If element is not in index, do nothing.
11628// func:amc.FField.c_tary.Remove
11629void                 c_tary_Remove(amc::FField& field, amc::FTary& row) __attribute__((nothrow));
11630
11631// Insert row into pointer index. Return final membership status.
11632// func:amc.FField.c_rowid.InsertMaybe
11633bool                 c_rowid_InsertMaybe(amc::FField& field, amc::FRowid& row) __attribute__((nothrow));
11634// Remove element from index. If element is not in index, do nothing.
11635// func:amc.FField.c_rowid.Remove
11636void                 c_rowid_Remove(amc::FField& field, amc::FRowid& row) __attribute__((nothrow));
11637
11638// Insert row into pointer index. Return final membership status.
11639// func:amc.FField.c_cascdel.InsertMaybe
11640bool                 c_cascdel_InsertMaybe(amc::FField& field, amc::FCascdel& row) __attribute__((nothrow));
11641// Remove element from index. If element is not in index, do nothing.
11642// func:amc.FField.c_cascdel.Remove
11643void                 c_cascdel_Remove(amc::FField& field, amc::FCascdel& row) __attribute__((nothrow));
11644
11645// Insert row into pointer index. Return final membership status.
11646// func:amc.FField.c_gstatic.InsertMaybe
11647bool                 c_gstatic_InsertMaybe(amc::FField& field, amc::FGstatic& row) __attribute__((nothrow));
11648// Remove element from index. If element is not in index, do nothing.
11649// func:amc.FField.c_gstatic.Remove
11650void                 c_gstatic_Remove(amc::FField& field, amc::FGstatic& row) __attribute__((nothrow));
11651
11652// Insert row into pointer index. Return final membership status.
11653// func:amc.FField.c_ptrary.InsertMaybe
11654bool                 c_ptrary_InsertMaybe(amc::FField& field, amc::FPtrary& row) __attribute__((nothrow));
11655// Remove element from index. If element is not in index, do nothing.
11656// func:amc.FField.c_ptrary.Remove
11657void                 c_ptrary_Remove(amc::FField& field, amc::FPtrary& row) __attribute__((nothrow));
11658
11659// Insert row into pointer index. Return final membership status.
11660// func:amc.FField.c_pmaskfld.InsertMaybe
11661bool                 c_pmaskfld_InsertMaybe(amc::FField& field, amc::FPmaskfld& row) __attribute__((nothrow));
11662// Remove element from index. If element is not in index, do nothing.
11663// func:amc.FField.c_pmaskfld.Remove
11664void                 c_pmaskfld_Remove(amc::FField& field, amc::FPmaskfld& row) __attribute__((nothrow));
11665
11666// Insert row into pointer index. Return final membership status.
11667// func:amc.FField.c_typefld.InsertMaybe
11668bool                 c_typefld_InsertMaybe(amc::FField& field, amc::FTypefld& row) __attribute__((nothrow));
11669// Remove element from index. If element is not in index, do nothing.
11670// func:amc.FField.c_typefld.Remove
11671void                 c_typefld_Remove(amc::FField& field, amc::FTypefld& row) __attribute__((nothrow));
11672
11673// Insert row into pointer index. Return final membership status.
11674// func:amc.FField.c_fcleanup.InsertMaybe
11675bool                 c_fcleanup_InsertMaybe(amc::FField& field, amc::FFcleanup& row) __attribute__((nothrow));
11676// Remove element from index. If element is not in index, do nothing.
11677// func:amc.FField.c_fcleanup.Remove
11678void                 c_fcleanup_Remove(amc::FField& field, amc::FFcleanup& row) __attribute__((nothrow));
11679
11680// Insert row into pointer index. Return final membership status.
11681// func:amc.FField.c_fdec.InsertMaybe
11682bool                 c_fdec_InsertMaybe(amc::FField& field, amc::FFdec& row) __attribute__((nothrow));
11683// Remove element from index. If element is not in index, do nothing.
11684// func:amc.FField.c_fdec.Remove
11685void                 c_fdec_Remove(amc::FField& field, amc::FFdec& row) __attribute__((nothrow));
11686
11687// Return true if index is empty
11688// func:amc.FField.c_fconst.EmptyQ
11689bool                 c_fconst_EmptyQ(amc::FField& field) __attribute__((nothrow));
11690// Look up row by row id. Return NULL if out of range
11691// func:amc.FField.c_fconst.Find
11692amc::FFconst*        c_fconst_Find(amc::FField& field, u32 t) __attribute__((__warn_unused_result__, nothrow));
11693// Return array of pointers
11694// func:amc.FField.c_fconst.Getary
11695algo::aryptr<amc::FFconst*> c_fconst_Getary(amc::FField& field) __attribute__((nothrow));
11696// Insert pointer to row into array. Row must not already be in array.
11697// If pointer is already in the array, it may be inserted twice.
11698// func:amc.FField.c_fconst.Insert
11699void                 c_fconst_Insert(amc::FField& field, amc::FFconst& row) __attribute__((nothrow));
11700// Insert pointer to row in array.
11701// If row is already in the array, do nothing.
11702// Return value: whether element was inserted into array.
11703// func:amc.FField.c_fconst.InsertMaybe
11704bool                 c_fconst_InsertMaybe(amc::FField& field, amc::FFconst& row) __attribute__((nothrow));
11705// Return number of items in the pointer array
11706// func:amc.FField.c_fconst.N
11707i32                  c_fconst_N(const amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11708// Find element using linear scan. If element is in array, remove, otherwise do nothing
11709// func:amc.FField.c_fconst.Remove
11710void                 c_fconst_Remove(amc::FField& field, amc::FFconst& row) __attribute__((nothrow));
11711// Empty the index. (The rows are not deleted)
11712// func:amc.FField.c_fconst.RemoveAll
11713void                 c_fconst_RemoveAll(amc::FField& field) __attribute__((nothrow));
11714// Reserve space in index for N more elements;
11715// func:amc.FField.c_fconst.Reserve
11716void                 c_fconst_Reserve(amc::FField& field, u32 n) __attribute__((nothrow));
11717// Return reference without bounds checking
11718// func:amc.FField.c_fconst.qFind
11719amc::FFconst&        c_fconst_qFind(amc::FField& field, u32 idx) __attribute__((nothrow));
11720// True if row is in any ptrary instance
11721// func:amc.FField.c_fconst.InAryQ
11722bool                 field_c_fconst_InAryQ(amc::FFconst& row) __attribute__((nothrow));
11723// Reference to last element without bounds checking
11724// func:amc.FField.c_fconst.qLast
11725amc::FFconst&        c_fconst_qLast(amc::FField& field) __attribute__((nothrow));
11726
11727// Insert row into pointer index. Return final membership status.
11728// func:amc.FField.c_finput.InsertMaybe
11729bool                 c_finput_InsertMaybe(amc::FField& field, amc::FFinput& row) __attribute__((nothrow));
11730// Remove element from index. If element is not in index, do nothing.
11731// func:amc.FField.c_finput.Remove
11732void                 c_finput_Remove(amc::FField& field, amc::FFinput& row) __attribute__((nothrow));
11733
11734// Insert row into pointer index. Return final membership status.
11735// func:amc.FField.c_foutput.InsertMaybe
11736bool                 c_foutput_InsertMaybe(amc::FField& field, amc::FFoutput& row) __attribute__((nothrow));
11737// Remove element from index. If element is not in index, do nothing.
11738// func:amc.FField.c_foutput.Remove
11739void                 c_foutput_Remove(amc::FField& field, amc::FFoutput& row) __attribute__((nothrow));
11740
11741// Insert row into pointer index. Return final membership status.
11742// func:amc.FField.c_fbuf.InsertMaybe
11743bool                 c_fbuf_InsertMaybe(amc::FField& field, amc::FFbuf& row) __attribute__((nothrow));
11744// Remove element from index. If element is not in index, do nothing.
11745// func:amc.FField.c_fbuf.Remove
11746void                 c_fbuf_Remove(amc::FField& field, amc::FFbuf& row) __attribute__((nothrow));
11747
11748// Insert row into pointer index. Return final membership status.
11749// func:amc.FField.c_fbigend.InsertMaybe
11750bool                 c_fbigend_InsertMaybe(amc::FField& field, amc::FFbigend& row) __attribute__((nothrow));
11751// Remove element from index. If element is not in index, do nothing.
11752// func:amc.FField.c_fbigend.Remove
11753void                 c_fbigend_Remove(amc::FField& field, amc::FFbigend& row) __attribute__((nothrow));
11754
11755// Insert row into pointer index. Return final membership status.
11756// func:amc.FField.c_fstep.InsertMaybe
11757bool                 c_fstep_InsertMaybe(amc::FField& field, amc::FFstep& row) __attribute__((nothrow));
11758// Remove element from index. If element is not in index, do nothing.
11759// func:amc.FField.c_fstep.Remove
11760void                 c_fstep_Remove(amc::FField& field, amc::FFstep& row) __attribute__((nothrow));
11761
11762// Insert row into pointer index. Return final membership status.
11763// func:amc.FField.c_fregx.InsertMaybe
11764bool                 c_fregx_InsertMaybe(amc::FField& field, amc::FFregx& row) __attribute__((nothrow));
11765// Remove element from index. If element is not in index, do nothing.
11766// func:amc.FField.c_fregx.Remove
11767void                 c_fregx_Remove(amc::FField& field, amc::FFregx& row) __attribute__((nothrow));
11768
11769// Insert row into pointer index. Return final membership status.
11770// func:amc.FField.c_fcmp.InsertMaybe
11771bool                 c_fcmp_InsertMaybe(amc::FField& field, amc::FFcmp& row) __attribute__((nothrow));
11772// Remove element from index. If element is not in index, do nothing.
11773// func:amc.FField.c_fcmp.Remove
11774void                 c_fcmp_Remove(amc::FField& field, amc::FFcmp& row) __attribute__((nothrow));
11775
11776// Insert row into pointer index. Return final membership status.
11777// func:amc.FField.c_fcast.InsertMaybe
11778bool                 c_fcast_InsertMaybe(amc::FField& field, amc::FFcast& row) __attribute__((nothrow));
11779// Remove element from index. If element is not in index, do nothing.
11780// func:amc.FField.c_fcast.Remove
11781void                 c_fcast_Remove(amc::FField& field, amc::FFcast& row) __attribute__((nothrow));
11782
11783// Insert row into pointer index. Return final membership status.
11784// func:amc.FField.c_gconst.InsertMaybe
11785bool                 c_gconst_InsertMaybe(amc::FField& field, amc::FGconst& row) __attribute__((nothrow));
11786// Remove element from index. If element is not in index, do nothing.
11787// func:amc.FField.c_gconst.Remove
11788void                 c_gconst_Remove(amc::FField& field, amc::FGconst& row) __attribute__((nothrow));
11789
11790// Insert row into pointer index. Return final membership status.
11791// func:amc.FField.c_bitfld.InsertMaybe
11792bool                 c_bitfld_InsertMaybe(amc::FField& field, amc::FBitfld& row) __attribute__((nothrow));
11793// Remove element from index. If element is not in index, do nothing.
11794// func:amc.FField.c_bitfld.Remove
11795void                 c_bitfld_Remove(amc::FField& field, amc::FBitfld& row) __attribute__((nothrow));
11796
11797// Insert row into pointer index. Return final membership status.
11798// func:amc.FField.c_noxref.InsertMaybe
11799bool                 c_noxref_InsertMaybe(amc::FField& field, amc::FNoxref& row) __attribute__((nothrow));
11800// Remove element from index. If element is not in index, do nothing.
11801// func:amc.FField.c_noxref.Remove
11802void                 c_noxref_Remove(amc::FField& field, amc::FNoxref& row) __attribute__((nothrow));
11803
11804// Insert row into pointer index. Return final membership status.
11805// func:amc.FField.c_cppfunc.InsertMaybe
11806bool                 c_cppfunc_InsertMaybe(amc::FField& field, amc::FCppfunc& row) __attribute__((nothrow));
11807// Remove element from index. If element is not in index, do nothing.
11808// func:amc.FField.c_cppfunc.Remove
11809void                 c_cppfunc_Remove(amc::FField& field, amc::FCppfunc& row) __attribute__((nothrow));
11810
11811// Insert row into pointer index. Return final membership status.
11812// func:amc.FField.c_substr.InsertMaybe
11813bool                 c_substr_InsertMaybe(amc::FField& field, amc::FSubstr& row) __attribute__((nothrow));
11814// Remove element from index. If element is not in index, do nothing.
11815// func:amc.FField.c_substr.Remove
11816void                 c_substr_Remove(amc::FField& field, amc::FSubstr& row) __attribute__((nothrow));
11817
11818// Insert row into pointer index. Return final membership status.
11819// func:amc.FField.c_fcompact.InsertMaybe
11820bool                 c_fcompact_InsertMaybe(amc::FField& field, amc::FFcompact& row) __attribute__((nothrow));
11821// Remove element from index. If element is not in index, do nothing.
11822// func:amc.FField.c_fcompact.Remove
11823void                 c_fcompact_Remove(amc::FField& field, amc::FFcompact& row) __attribute__((nothrow));
11824
11825// Insert row into pointer index. Return final membership status.
11826// func:amc.FField.c_findrem.InsertMaybe
11827bool                 c_findrem_InsertMaybe(amc::FField& field, amc::FFindrem& row) __attribute__((nothrow));
11828// Remove element from index. If element is not in index, do nothing.
11829// func:amc.FField.c_findrem.Remove
11830void                 c_findrem_Remove(amc::FField& field, amc::FFindrem& row) __attribute__((nothrow));
11831
11832// Return true if index is empty
11833// func:amc.FField.zd_xref_keyfld.EmptyQ
11834bool                 zd_xref_keyfld_EmptyQ(amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11835// If index empty, return NULL. Otherwise return pointer to first element in index
11836// func:amc.FField.zd_xref_keyfld.First
11837amc::FXref*          zd_xref_keyfld_First(amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11838// Return true if row is in the linked list, false otherwise
11839// func:amc.FField.zd_xref_keyfld.InLlistQ
11840bool                 zd_xref_keyfld_InLlistQ(amc::FXref& row) __attribute__((__warn_unused_result__, nothrow));
11841// Insert row into linked list. If row is already in linked list, do nothing.
11842// func:amc.FField.zd_xref_keyfld.Insert
11843void                 zd_xref_keyfld_Insert(amc::FField& field, amc::FXref& row) __attribute__((nothrow));
11844// If index empty, return NULL. Otherwise return pointer to last element in index
11845// func:amc.FField.zd_xref_keyfld.Last
11846amc::FXref*          zd_xref_keyfld_Last(amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11847// Return number of items in the linked list
11848// func:amc.FField.zd_xref_keyfld.N
11849i32                  zd_xref_keyfld_N(const amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11850// Return pointer to next element in the list
11851// func:amc.FField.zd_xref_keyfld.Next
11852amc::FXref*          zd_xref_keyfld_Next(amc::FXref &row) __attribute__((__warn_unused_result__, nothrow));
11853// Return pointer to previous element in the list
11854// func:amc.FField.zd_xref_keyfld.Prev
11855amc::FXref*          zd_xref_keyfld_Prev(amc::FXref &row) __attribute__((__warn_unused_result__, nothrow));
11856// Remove element from index. If element is not in index, do nothing.
11857// func:amc.FField.zd_xref_keyfld.Remove
11858void                 zd_xref_keyfld_Remove(amc::FField& field, amc::FXref& row) __attribute__((nothrow));
11859// Empty the index. (The rows are not deleted)
11860// func:amc.FField.zd_xref_keyfld.RemoveAll
11861void                 zd_xref_keyfld_RemoveAll(amc::FField& field) __attribute__((nothrow));
11862// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
11863// func:amc.FField.zd_xref_keyfld.RemoveFirst
11864amc::FXref*          zd_xref_keyfld_RemoveFirst(amc::FField& field) __attribute__((nothrow));
11865// Return reference to last element in the index. No bounds checking.
11866// func:amc.FField.zd_xref_keyfld.qLast
11867amc::FXref&          zd_xref_keyfld_qLast(amc::FField& field) __attribute__((__warn_unused_result__, nothrow));
11868
11869// Return true if index is empty
11870// func:amc.FField.zs_fcmap.EmptyQ
11871bool                 zs_fcmap_EmptyQ(amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11872// If index empty, return NULL. Otherwise return pointer to first element in index
11873// func:amc.FField.zs_fcmap.First
11874amc::FFcmap*         zs_fcmap_First(amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11875// Return true if row is in the linked list, false otherwise
11876// func:amc.FField.zs_fcmap.InLlistQ
11877bool                 zs_fcmap_InLlistQ(amc::FFcmap& row) __attribute__((__warn_unused_result__, nothrow));
11878// Insert row into linked list. If row is already in linked list, do nothing.
11879// func:amc.FField.zs_fcmap.Insert
11880void                 zs_fcmap_Insert(amc::FField& field, amc::FFcmap& row) __attribute__((nothrow));
11881// If index empty, return NULL. Otherwise return pointer to last element in index
11882// func:amc.FField.zs_fcmap.Last
11883amc::FFcmap*         zs_fcmap_Last(amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11884// Return pointer to next element in the list
11885// func:amc.FField.zs_fcmap.Next
11886amc::FFcmap*         zs_fcmap_Next(amc::FFcmap &row) __attribute__((__warn_unused_result__, nothrow));
11887// Remove element from index. If element is not in index, do nothing.
11888// Since the list is singly-linked, use linear search to locate the element.
11889// func:amc.FField.zs_fcmap.Remove
11890void                 zs_fcmap_Remove(amc::FField& field, amc::FFcmap& row) __attribute__((nothrow));
11891// Empty the index. (The rows are not deleted)
11892// func:amc.FField.zs_fcmap.RemoveAll
11893void                 zs_fcmap_RemoveAll(amc::FField& field) __attribute__((nothrow));
11894// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
11895// func:amc.FField.zs_fcmap.RemoveFirst
11896amc::FFcmap*         zs_fcmap_RemoveFirst(amc::FField& field) __attribute__((nothrow));
11897// Return reference to last element in the index. No bounds checking.
11898// func:amc.FField.zs_fcmap.qLast
11899amc::FFcmap&         zs_fcmap_qLast(amc::FField& field) __attribute__((__warn_unused_result__, nothrow));
11900
11901// Insert row into pointer index. Return final membership status.
11902// func:amc.FField.c_fbase.InsertMaybe
11903bool                 c_fbase_InsertMaybe(amc::FField& field, amc::FFbase& row) __attribute__((nothrow));
11904// Remove element from index. If element is not in index, do nothing.
11905// func:amc.FField.c_fbase.Remove
11906void                 c_fbase_Remove(amc::FField& field, amc::FFbase& row) __attribute__((nothrow));
11907
11908// Insert row into pointer index. Return final membership status.
11909// func:amc.FField.c_fnoremove.InsertMaybe
11910bool                 c_fnoremove_InsertMaybe(amc::FField& field, amc::FFnoremove& row) __attribute__((nothrow));
11911// Remove element from index. If element is not in index, do nothing.
11912// func:amc.FField.c_fnoremove.Remove
11913void                 c_fnoremove_Remove(amc::FField& field, amc::FFnoremove& row) __attribute__((nothrow));
11914
11915// Insert row into pointer index. Return final membership status.
11916// func:amc.FField.c_sortfld.InsertMaybe
11917bool                 c_sortfld_InsertMaybe(amc::FField& field, amc::FSortfld& row) __attribute__((nothrow));
11918// Remove element from index. If element is not in index, do nothing.
11919// func:amc.FField.c_sortfld.Remove
11920void                 c_sortfld_Remove(amc::FField& field, amc::FSortfld& row) __attribute__((nothrow));
11921
11922// Insert row into pointer index. Return final membership status.
11923// func:amc.FField.c_ftrace.InsertMaybe
11924bool                 c_ftrace_InsertMaybe(amc::FField& field, amc::FFtrace& row) __attribute__((nothrow));
11925// Remove element from index. If element is not in index, do nothing.
11926// func:amc.FField.c_ftrace.Remove
11927void                 c_ftrace_Remove(amc::FField& field, amc::FFtrace& row) __attribute__((nothrow));
11928
11929// Insert row into pointer index. Return final membership status.
11930// func:amc.FField.c_hook.InsertMaybe
11931bool                 c_hook_InsertMaybe(amc::FField& field, amc::FHook& row) __attribute__((nothrow));
11932// Remove element from index. If element is not in index, do nothing.
11933// func:amc.FField.c_hook.Remove
11934void                 c_hook_Remove(amc::FField& field, amc::FHook& row) __attribute__((nothrow));
11935
11936// Insert row into pointer index. Return final membership status.
11937// func:amc.FField.c_charset.InsertMaybe
11938bool                 c_charset_InsertMaybe(amc::FField& field, amc::FCharset& row) __attribute__((nothrow));
11939// Remove element from index. If element is not in index, do nothing.
11940// func:amc.FField.c_charset.Remove
11941void                 c_charset_Remove(amc::FField& field, amc::FCharset& row) __attribute__((nothrow));
11942
11943// Remove all elements from heap and free memory used by the array.
11944// func:amc.FField.bh_bitfld.Dealloc
11945void                 bh_bitfld_Dealloc(amc::FField& field) __attribute__((nothrow));
11946// Return true if index is empty
11947// func:amc.FField.bh_bitfld.EmptyQ
11948bool                 bh_bitfld_EmptyQ(amc::FField& field) __attribute__((nothrow));
11949// If index empty, return NULL. Otherwise return pointer to first element in index
11950// func:amc.FField.bh_bitfld.First
11951amc::FBitfld*        bh_bitfld_First(amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11952// Return true if row is in index, false otherwise
11953// func:amc.FField.bh_bitfld.InBheapQ
11954bool                 bh_bitfld_InBheapQ(amc::FBitfld& row) __attribute__((__warn_unused_result__, nothrow));
11955// Insert row. Row must not already be in index. If row is already in index, do nothing.
11956// func:amc.FField.bh_bitfld.Insert
11957void                 bh_bitfld_Insert(amc::FField& field, amc::FBitfld& row) __attribute__((nothrow));
11958// Return number of items in the heap
11959// func:amc.FField.bh_bitfld.N
11960i32                  bh_bitfld_N(const amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
11961// If row is in heap, update its position. If row is not in heap, insert it.
11962// Return new position of item in the heap (0=top)
11963// func:amc.FField.bh_bitfld.Reheap
11964i32                  bh_bitfld_Reheap(amc::FField& field, amc::FBitfld& row) __attribute__((nothrow));
11965// Key of first element in the heap changed. Move it.
11966// This function does not check the insert condition.
11967// Return new position of item in the heap (0=top).
11968// Heap must be non-empty or behavior is undefined.
11969// func:amc.FField.bh_bitfld.ReheapFirst
11970i32                  bh_bitfld_ReheapFirst(amc::FField& field) __attribute__((nothrow));
11971// Remove element from index. If element is not in index, do nothing.
11972// func:amc.FField.bh_bitfld.Remove
11973void                 bh_bitfld_Remove(amc::FField& field, amc::FBitfld& row) __attribute__((nothrow));
11974// Remove all elements from binary heap
11975// func:amc.FField.bh_bitfld.RemoveAll
11976void                 bh_bitfld_RemoveAll(amc::FField& field) __attribute__((nothrow));
11977// If index is empty, return NULL. Otherwise remove and return first key in index.
11978//  Call 'head changed' trigger.
11979// func:amc.FField.bh_bitfld.RemoveFirst
11980amc::FBitfld*        bh_bitfld_RemoveFirst(amc::FField& field) __attribute__((nothrow));
11981// Reserve space in index for N more elements
11982// func:amc.FField.bh_bitfld.Reserve
11983void                 bh_bitfld_Reserve(amc::FField& field, int n) __attribute__((nothrow));
11984
11985// Insert row into pointer index. Return final membership status.
11986// func:amc.FField.c_funique.InsertMaybe
11987bool                 c_funique_InsertMaybe(amc::FField& field, amc::FFunique& row) __attribute__((nothrow));
11988// Remove element from index. If element is not in index, do nothing.
11989// func:amc.FField.c_funique.Remove
11990void                 c_funique_Remove(amc::FField& field, amc::FFunique& row) __attribute__((nothrow));
11991
11992// Insert row into pointer index. Return final membership status.
11993// func:amc.FField.c_fuserinit.InsertMaybe
11994bool                 c_fuserinit_InsertMaybe(amc::FField& field, amc::FFuserinit& row) __attribute__((nothrow));
11995// Remove element from index. If element is not in index, do nothing.
11996// func:amc.FField.c_fuserinit.Remove
11997void                 c_fuserinit_Remove(amc::FField& field, amc::FFuserinit& row) __attribute__((nothrow));
11998
11999// Insert row into pointer index. Return final membership status.
12000// func:amc.FField.c_fflag.InsertMaybe
12001bool                 c_fflag_InsertMaybe(amc::FField& field, amc::FFflag& row) __attribute__((nothrow));
12002// Remove element from index. If element is not in index, do nothing.
12003// func:amc.FField.c_fflag.Remove
12004void                 c_fflag_Remove(amc::FField& field, amc::FFflag& row) __attribute__((nothrow));
12005
12006// Insert row into pointer index. Return final membership status.
12007// func:amc.FField.c_falias.InsertMaybe
12008bool                 c_falias_InsertMaybe(amc::FField& field, amc::FFalias& row) __attribute__((nothrow));
12009// Remove element from index. If element is not in index, do nothing.
12010// func:amc.FField.c_falias.Remove
12011void                 c_falias_Remove(amc::FField& field, amc::FFalias& row) __attribute__((nothrow));
12012
12013// Insert row into pointer index. Return final membership status.
12014// func:amc.FField.c_ffast_field.InsertMaybe
12015bool                 c_ffast_field_InsertMaybe(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12016// Remove element from index. If element is not in index, do nothing.
12017// func:amc.FField.c_ffast_field.Remove
12018void                 c_ffast_field_Remove(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12019
12020// Insert row into pointer index. Return final membership status.
12021// func:amc.FField.c_ffast_length.InsertMaybe
12022bool                 c_ffast_length_InsertMaybe(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12023// Remove element from index. If element is not in index, do nothing.
12024// func:amc.FField.c_ffast_length.Remove
12025void                 c_ffast_length_Remove(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12026
12027// Insert row into pointer index. Return final membership status.
12028// func:amc.FField.c_ffast_mantissa.InsertMaybe
12029bool                 c_ffast_mantissa_InsertMaybe(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12030// Remove element from index. If element is not in index, do nothing.
12031// func:amc.FField.c_ffast_mantissa.Remove
12032void                 c_ffast_mantissa_Remove(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12033
12034// Return true if index is empty
12035// func:amc.FField.c_ffast.EmptyQ
12036bool                 c_ffast_EmptyQ(amc::FField& field) __attribute__((nothrow));
12037// Look up row by row id. Return NULL if out of range
12038// func:amc.FField.c_ffast.Find
12039amc::FFfast*         c_ffast_Find(amc::FField& field, u32 t) __attribute__((__warn_unused_result__, nothrow));
12040// Return array of pointers
12041// func:amc.FField.c_ffast.Getary
12042algo::aryptr<amc::FFfast*> c_ffast_Getary(amc::FField& field) __attribute__((nothrow));
12043// Insert pointer to row into array. Row must not already be in array.
12044// If pointer is already in the array, it may be inserted twice.
12045// func:amc.FField.c_ffast.Insert
12046void                 c_ffast_Insert(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12047// Insert pointer to row in array.
12048// If row is already in the array, do nothing.
12049// Return value: whether element was inserted into array.
12050// func:amc.FField.c_ffast.InsertMaybe
12051bool                 c_ffast_InsertMaybe(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12052// Return number of items in the pointer array
12053// func:amc.FField.c_ffast.N
12054i32                  c_ffast_N(const amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
12055// Find element using linear scan. If element is in array, remove, otherwise do nothing
12056// func:amc.FField.c_ffast.Remove
12057void                 c_ffast_Remove(amc::FField& field, amc::FFfast& row) __attribute__((nothrow));
12058// Empty the index. (The rows are not deleted)
12059// func:amc.FField.c_ffast.RemoveAll
12060void                 c_ffast_RemoveAll(amc::FField& field) __attribute__((nothrow));
12061// Reserve space in index for N more elements;
12062// func:amc.FField.c_ffast.Reserve
12063void                 c_ffast_Reserve(amc::FField& field, u32 n) __attribute__((nothrow));
12064// Return reference without bounds checking
12065// func:amc.FField.c_ffast.qFind
12066amc::FFfast&         c_ffast_qFind(amc::FField& field, u32 idx) __attribute__((nothrow));
12067// True if row is in any ptrary instance
12068// func:amc.FField.c_ffast.InAryQ
12069bool                 field_c_ffast_InAryQ(amc::FFfast& row) __attribute__((nothrow));
12070// Reference to last element without bounds checking
12071// func:amc.FField.c_ffast.qLast
12072amc::FFfast&         c_ffast_qLast(amc::FField& field) __attribute__((nothrow));
12073
12074// Return true if index is empty
12075// func:amc.FField.c_pmaskfld_member.EmptyQ
12076bool                 c_pmaskfld_member_EmptyQ(amc::FField& field) __attribute__((nothrow));
12077// Look up row by row id. Return NULL if out of range
12078// func:amc.FField.c_pmaskfld_member.Find
12079amc::FPmaskfldMember* c_pmaskfld_member_Find(amc::FField& field, u32 t) __attribute__((__warn_unused_result__, nothrow));
12080// Return array of pointers
12081// func:amc.FField.c_pmaskfld_member.Getary
12082algo::aryptr<amc::FPmaskfldMember*> c_pmaskfld_member_Getary(amc::FField& field) __attribute__((nothrow));
12083// Insert pointer to row into array. Row must not already be in array.
12084// If pointer is already in the array, it may be inserted twice.
12085// func:amc.FField.c_pmaskfld_member.Insert
12086void                 c_pmaskfld_member_Insert(amc::FField& field, amc::FPmaskfldMember& row) __attribute__((nothrow));
12087// Insert pointer to row in array.
12088// If row is already in the array, do nothing.
12089// Return value: whether element was inserted into array.
12090// func:amc.FField.c_pmaskfld_member.InsertMaybe
12091bool                 c_pmaskfld_member_InsertMaybe(amc::FField& field, amc::FPmaskfldMember& row) __attribute__((nothrow));
12092// Return number of items in the pointer array
12093// func:amc.FField.c_pmaskfld_member.N
12094i32                  c_pmaskfld_member_N(const amc::FField& field) __attribute__((__warn_unused_result__, nothrow, pure));
12095// Find element using linear scan. If element is in array, remove, otherwise do nothing
12096// func:amc.FField.c_pmaskfld_member.Remove
12097void                 c_pmaskfld_member_Remove(amc::FField& field, amc::FPmaskfldMember& row) __attribute__((nothrow));
12098// Empty the index. (The rows are not deleted)
12099// func:amc.FField.c_pmaskfld_member.RemoveAll
12100void                 c_pmaskfld_member_RemoveAll(amc::FField& field) __attribute__((nothrow));
12101// Reserve space in index for N more elements;
12102// func:amc.FField.c_pmaskfld_member.Reserve
12103void                 c_pmaskfld_member_Reserve(amc::FField& field, u32 n) __attribute__((nothrow));
12104// Return reference without bounds checking
12105// func:amc.FField.c_pmaskfld_member.qFind
12106amc::FPmaskfldMember& c_pmaskfld_member_qFind(amc::FField& field, u32 idx) __attribute__((nothrow));
12107// True if row is in any ptrary instance
12108// func:amc.FField.c_pmaskfld_member.InAryQ
12109bool                 field_c_pmaskfld_member_InAryQ(amc::FPmaskfldMember& row) __attribute__((nothrow));
12110// Reference to last element without bounds checking
12111// func:amc.FField.c_pmaskfld_member.qLast
12112amc::FPmaskfldMember& c_pmaskfld_member_qLast(amc::FField& field) __attribute__((nothrow));
12113
12114// Set all fields to initial values.
12115// func:amc.FField..Init
12116void                 FField_Init(amc::FField& field);
12117// func:amc.FField.c_ffunc_curs.Reset
12118void                 field_c_ffunc_curs_Reset(field_c_ffunc_curs &curs, amc::FField &parent) __attribute__((nothrow));
12119// cursor points to valid item
12120// func:amc.FField.c_ffunc_curs.ValidQ
12121bool                 field_c_ffunc_curs_ValidQ(field_c_ffunc_curs &curs) __attribute__((nothrow));
12122// proceed to next item
12123// func:amc.FField.c_ffunc_curs.Next
12124void                 field_c_ffunc_curs_Next(field_c_ffunc_curs &curs) __attribute__((nothrow));
12125// item access
12126// func:amc.FField.c_ffunc_curs.Access
12127amc::FFunc&          field_c_ffunc_curs_Access(field_c_ffunc_curs &curs) __attribute__((nothrow));
12128// func:amc.FField.c_fconst_curs.Reset
12129void                 field_c_fconst_curs_Reset(field_c_fconst_curs &curs, amc::FField &parent) __attribute__((nothrow));
12130// cursor points to valid item
12131// func:amc.FField.c_fconst_curs.ValidQ
12132bool                 field_c_fconst_curs_ValidQ(field_c_fconst_curs &curs) __attribute__((nothrow));
12133// proceed to next item
12134// func:amc.FField.c_fconst_curs.Next
12135void                 field_c_fconst_curs_Next(field_c_fconst_curs &curs) __attribute__((nothrow));
12136// item access
12137// func:amc.FField.c_fconst_curs.Access
12138amc::FFconst&        field_c_fconst_curs_Access(field_c_fconst_curs &curs) __attribute__((nothrow));
12139// cursor points to valid item
12140// func:amc.FField.zd_xref_keyfld_curs.Reset
12141void                 field_zd_xref_keyfld_curs_Reset(field_zd_xref_keyfld_curs &curs, amc::FField &parent) __attribute__((nothrow));
12142// cursor points to valid item
12143// func:amc.FField.zd_xref_keyfld_curs.ValidQ
12144bool                 field_zd_xref_keyfld_curs_ValidQ(field_zd_xref_keyfld_curs &curs) __attribute__((nothrow));
12145// proceed to next item
12146// func:amc.FField.zd_xref_keyfld_curs.Next
12147void                 field_zd_xref_keyfld_curs_Next(field_zd_xref_keyfld_curs &curs) __attribute__((nothrow));
12148// item access
12149// func:amc.FField.zd_xref_keyfld_curs.Access
12150amc::FXref&          field_zd_xref_keyfld_curs_Access(field_zd_xref_keyfld_curs &curs) __attribute__((nothrow));
12151// cursor points to valid item
12152// func:amc.FField.zs_fcmap_curs.Reset
12153void                 field_zs_fcmap_curs_Reset(field_zs_fcmap_curs &curs, amc::FField &parent) __attribute__((nothrow));
12154// cursor points to valid item
12155// func:amc.FField.zs_fcmap_curs.ValidQ
12156bool                 field_zs_fcmap_curs_ValidQ(field_zs_fcmap_curs &curs) __attribute__((nothrow));
12157// proceed to next item
12158// func:amc.FField.zs_fcmap_curs.Next
12159void                 field_zs_fcmap_curs_Next(field_zs_fcmap_curs &curs) __attribute__((nothrow));
12160// item access
12161// func:amc.FField.zs_fcmap_curs.Access
12162amc::FFcmap&         field_zs_fcmap_curs_Access(field_zs_fcmap_curs &curs) __attribute__((nothrow));
12163// func:amc.FField.bh_bitfld_curs.Reserve
12164void                 field_bh_bitfld_curs_Reserve(field_bh_bitfld_curs &curs, int n);
12165// Reset cursor. If HEAP is non-empty, add its top element to CURS.
12166// func:amc.FField.bh_bitfld_curs.Reset
12167void                 field_bh_bitfld_curs_Reset(field_bh_bitfld_curs &curs, amc::FField &parent);
12168// Advance cursor.
12169// func:amc.FField.bh_bitfld_curs.Next
12170void                 field_bh_bitfld_curs_Next(field_bh_bitfld_curs &curs);
12171// Access current element. If not more elements, return NULL
12172// func:amc.FField.bh_bitfld_curs.Access
12173amc::FBitfld&        field_bh_bitfld_curs_Access(field_bh_bitfld_curs &curs) __attribute__((nothrow));
12174// Return true if Access() will return non-NULL.
12175// func:amc.FField.bh_bitfld_curs.ValidQ
12176bool                 field_bh_bitfld_curs_ValidQ(field_bh_bitfld_curs &curs) __attribute__((nothrow));
12177// func:amc.FField.c_ffast_curs.Reset
12178void                 field_c_ffast_curs_Reset(field_c_ffast_curs &curs, amc::FField &parent) __attribute__((nothrow));
12179// cursor points to valid item
12180// func:amc.FField.c_ffast_curs.ValidQ
12181bool                 field_c_ffast_curs_ValidQ(field_c_ffast_curs &curs) __attribute__((nothrow));
12182// proceed to next item
12183// func:amc.FField.c_ffast_curs.Next
12184void                 field_c_ffast_curs_Next(field_c_ffast_curs &curs) __attribute__((nothrow));
12185// item access
12186// func:amc.FField.c_ffast_curs.Access
12187amc::FFfast&         field_c_ffast_curs_Access(field_c_ffast_curs &curs) __attribute__((nothrow));
12188// func:amc.FField.c_pmaskfld_member_curs.Reset
12189void                 field_c_pmaskfld_member_curs_Reset(field_c_pmaskfld_member_curs &curs, amc::FField &parent) __attribute__((nothrow));
12190// cursor points to valid item
12191// func:amc.FField.c_pmaskfld_member_curs.ValidQ
12192bool                 field_c_pmaskfld_member_curs_ValidQ(field_c_pmaskfld_member_curs &curs) __attribute__((nothrow));
12193// proceed to next item
12194// func:amc.FField.c_pmaskfld_member_curs.Next
12195void                 field_c_pmaskfld_member_curs_Next(field_c_pmaskfld_member_curs &curs) __attribute__((nothrow));
12196// item access
12197// func:amc.FField.c_pmaskfld_member_curs.Access
12198amc::FPmaskfldMember& field_c_pmaskfld_member_curs_Access(field_c_pmaskfld_member_curs &curs) __attribute__((nothrow));
12199// func:amc.FField..Uninit
12200void                 FField_Uninit(amc::FField& field) __attribute__((nothrow));
12201
12202// --- amc.FFindrem
12203// create: amc.FDb.findrem (Lary)
12204// access: amc.FField.c_findrem (Ptr)
12205struct FFindrem { // amc.FFindrem
12206    algo::Smallstr100   field;     //
12207    algo::Comment       comment;   //
12208private:
12209    friend amc::FFindrem&       findrem_Alloc() __attribute__((__warn_unused_result__, nothrow));
12210    friend amc::FFindrem*       findrem_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12211    friend void                 findrem_RemoveLast() __attribute__((nothrow));
12212    FFindrem();
12213    ~FFindrem();
12214    FFindrem(const FFindrem&){ /*disallow copy constructor */}
12215    void operator =(const FFindrem&){ /*disallow direct assignment */}
12216};
12217
12218// Copy fields out of row
12219// func:amc.FFindrem.base.CopyOut
12220void                 findrem_CopyOut(amc::FFindrem &row, dmmeta::Findrem &out) __attribute__((nothrow));
12221// Copy fields in to row
12222// func:amc.FFindrem.base.CopyIn
12223void                 findrem_CopyIn(amc::FFindrem &row, dmmeta::Findrem &in) __attribute__((nothrow));
12224
12225// func:amc.FFindrem..Uninit
12226void                 FFindrem_Uninit(amc::FFindrem& findrem) __attribute__((nothrow));
12227
12228// --- amc.FFinput
12229// create: amc.FDb.finput (Lary)
12230// access: amc.FField.c_finput (Ptr)
12231struct FFinput { // amc.FFinput
12232    algo::Smallstr100   field;     // Target field to read
12233    bool                extrn;     //   false  Call user-provided function
12234    bool                update;    //   false
12235    bool                strict;    //   true  Exist process if record contains error
12236    amc::FField*        p_field;   // reference to parent row
12237private:
12238    friend amc::FFinput&        finput_Alloc() __attribute__((__warn_unused_result__, nothrow));
12239    friend amc::FFinput*        finput_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12240    friend void                 finput_RemoveLast() __attribute__((nothrow));
12241    FFinput();
12242    ~FFinput();
12243    FFinput(const FFinput&){ /*disallow copy constructor */}
12244    void operator =(const FFinput&){ /*disallow direct assignment */}
12245};
12246
12247// Copy fields out of row
12248// func:amc.FFinput.msghdr.CopyOut
12249void                 finput_CopyOut(amc::FFinput &row, dmmeta::Finput &out) __attribute__((nothrow));
12250// Copy fields in to row
12251// func:amc.FFinput.msghdr.CopyIn
12252void                 finput_CopyIn(amc::FFinput &row, dmmeta::Finput &in) __attribute__((nothrow));
12253
12254// func:amc.FFinput.ns.Get
12255algo::Smallstr16     ns_Get(amc::FFinput& finput) __attribute__((__warn_unused_result__, nothrow));
12256
12257// Set all fields to initial values.
12258// func:amc.FFinput..Init
12259void                 FFinput_Init(amc::FFinput& finput);
12260// func:amc.FFinput..Uninit
12261void                 FFinput_Uninit(amc::FFinput& finput) __attribute__((nothrow));
12262
12263// --- amc.FFldoffset
12264// create: amc.FDb.fldoffset (Lary)
12265// access: amc.FField.c_fldoffset (Ptr)
12266struct FFldoffset { // amc.FFldoffset
12267    algo::Smallstr100   field;     //
12268    i32                 offset;    //   0
12269    amc::FField*        p_field;   // reference to parent row
12270private:
12271    friend amc::FFldoffset&     fldoffset_Alloc() __attribute__((__warn_unused_result__, nothrow));
12272    friend amc::FFldoffset*     fldoffset_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12273    friend void                 fldoffset_RemoveLast() __attribute__((nothrow));
12274    FFldoffset();
12275    ~FFldoffset();
12276    FFldoffset(const FFldoffset&){ /*disallow copy constructor */}
12277    void operator =(const FFldoffset&){ /*disallow direct assignment */}
12278};
12279
12280// Copy fields out of row
12281// func:amc.FFldoffset.msghdr.CopyOut
12282void                 fldoffset_CopyOut(amc::FFldoffset &row, dmmeta::Fldoffset &out) __attribute__((nothrow));
12283// Copy fields in to row
12284// func:amc.FFldoffset.msghdr.CopyIn
12285void                 fldoffset_CopyIn(amc::FFldoffset &row, dmmeta::Fldoffset &in) __attribute__((nothrow));
12286
12287// Set all fields to initial values.
12288// func:amc.FFldoffset..Init
12289void                 FFldoffset_Init(amc::FFldoffset& fldoffset);
12290// func:amc.FFldoffset..Uninit
12291void                 FFldoffset_Uninit(amc::FFldoffset& fldoffset) __attribute__((nothrow));
12292
12293// --- amc.FFloadtuples
12294// create: amc.FDb.floadtuples (Lary)
12295// access: amc.FCtype.c_floadtuples (Ptr)
12296struct FFloadtuples { // amc.FFloadtuples
12297    algo::Smallstr100   field;     //
12298    algo::Comment       comment;   //
12299    amc::FField*        p_field;   // reference to parent row
12300private:
12301    friend amc::FFloadtuples&   floadtuples_Alloc() __attribute__((__warn_unused_result__, nothrow));
12302    friend amc::FFloadtuples*   floadtuples_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12303    friend void                 floadtuples_RemoveLast() __attribute__((nothrow));
12304    FFloadtuples();
12305    ~FFloadtuples();
12306    FFloadtuples(const FFloadtuples&){ /*disallow copy constructor */}
12307    void operator =(const FFloadtuples&){ /*disallow direct assignment */}
12308};
12309
12310// Copy fields out of row
12311// func:amc.FFloadtuples.base.CopyOut
12312void                 floadtuples_CopyOut(amc::FFloadtuples &row, dmmeta::Floadtuples &out) __attribute__((nothrow));
12313// Copy fields in to row
12314// func:amc.FFloadtuples.base.CopyIn
12315void                 floadtuples_CopyIn(amc::FFloadtuples &row, dmmeta::Floadtuples &in) __attribute__((nothrow));
12316
12317// func:amc.FFloadtuples.ctype.Get
12318algo::Smallstr100    ctype_Get(amc::FFloadtuples& floadtuples) __attribute__((__warn_unused_result__, nothrow));
12319
12320// Set all fields to initial values.
12321// func:amc.FFloadtuples..Init
12322void                 FFloadtuples_Init(amc::FFloadtuples& floadtuples);
12323// func:amc.FFloadtuples..Uninit
12324void                 FFloadtuples_Uninit(amc::FFloadtuples& floadtuples) __attribute__((nothrow));
12325
12326// --- amc.FFnoremove
12327// create: amc.FDb.fnoremove (Lary)
12328// access: amc.FField.c_fnoremove (Ptr)
12329struct FFnoremove { // amc.FFnoremove
12330    algo::Smallstr100   field;     //
12331    algo::Comment       comment;   //
12332private:
12333    friend amc::FFnoremove&     fnoremove_Alloc() __attribute__((__warn_unused_result__, nothrow));
12334    friend amc::FFnoremove*     fnoremove_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12335    friend void                 fnoremove_RemoveLast() __attribute__((nothrow));
12336    FFnoremove();
12337    ~FFnoremove();
12338    FFnoremove(const FFnoremove&){ /*disallow copy constructor */}
12339    void operator =(const FFnoremove&){ /*disallow direct assignment */}
12340};
12341
12342// Copy fields out of row
12343// func:amc.FFnoremove.base.CopyOut
12344void                 fnoremove_CopyOut(amc::FFnoremove &row, dmmeta::Fnoremove &out) __attribute__((nothrow));
12345// Copy fields in to row
12346// func:amc.FFnoremove.base.CopyIn
12347void                 fnoremove_CopyIn(amc::FFnoremove &row, dmmeta::Fnoremove &in) __attribute__((nothrow));
12348
12349// func:amc.FFnoremove..Uninit
12350void                 FFnoremove_Uninit(amc::FFnoremove& fnoremove) __attribute__((nothrow));
12351
12352// --- amc.FFoutput
12353// create: amc.FDb.foutput (Lary)
12354// access: amc.FField.c_foutput (Ptr)
12355// access: amc.FNs.c_foutput (Ptrary)
12356struct FFoutput { // amc.FFoutput
12357    algo::Smallstr100   field;                 //
12358    bool                ns_c_foutput_in_ary;   //   false  membership flag
12359private:
12360    friend amc::FFoutput&       foutput_Alloc() __attribute__((__warn_unused_result__, nothrow));
12361    friend amc::FFoutput*       foutput_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12362    friend void                 foutput_RemoveLast() __attribute__((nothrow));
12363    FFoutput();
12364    ~FFoutput();
12365    FFoutput(const FFoutput&){ /*disallow copy constructor */}
12366    void operator =(const FFoutput&){ /*disallow direct assignment */}
12367};
12368
12369// Copy fields out of row
12370// func:amc.FFoutput.msghdr.CopyOut
12371void                 foutput_CopyOut(amc::FFoutput &row, dmmeta::Foutput &out) __attribute__((nothrow));
12372// Copy fields in to row
12373// func:amc.FFoutput.msghdr.CopyIn
12374void                 foutput_CopyIn(amc::FFoutput &row, dmmeta::Foutput &in) __attribute__((nothrow));
12375
12376// func:amc.FFoutput.ns.Get
12377algo::Smallstr16     ns_Get(amc::FFoutput& foutput) __attribute__((__warn_unused_result__, nothrow));
12378
12379// Set all fields to initial values.
12380// func:amc.FFoutput..Init
12381void                 FFoutput_Init(amc::FFoutput& foutput);
12382// func:amc.FFoutput..Uninit
12383void                 FFoutput_Uninit(amc::FFoutput& foutput) __attribute__((nothrow));
12384
12385// --- amc.FFprefix
12386// create: amc.FDb.fprefix (Lary)
12387// global access: ind_prefix (Thash)
12388// access: amc.FReftype.zs_fprefix (Llist)
12389struct FFprefix { // amc.FFprefix
12390    amc::FFprefix*     ind_prefix_next;   // hash next
12391    algo::Smallstr5    fprefix;           //
12392    algo::Smallstr50   reftype;           //
12393    algo::Comment      comment;           //
12394    amc::FFprefix*     zs_fprefix_next;   // zslist link; -1 means not-in-list
12395private:
12396    friend amc::FFprefix&       fprefix_Alloc() __attribute__((__warn_unused_result__, nothrow));
12397    friend amc::FFprefix*       fprefix_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12398    friend void                 fprefix_RemoveLast() __attribute__((nothrow));
12399    FFprefix();
12400    ~FFprefix();
12401    FFprefix(const FFprefix&){ /*disallow copy constructor */}
12402    void operator =(const FFprefix&){ /*disallow direct assignment */}
12403};
12404
12405// Copy fields out of row
12406// func:amc.FFprefix.base.CopyOut
12407void                 fprefix_CopyOut(amc::FFprefix &row, dmmeta::Fprefix &out) __attribute__((nothrow));
12408// Copy fields in to row
12409// func:amc.FFprefix.base.CopyIn
12410void                 fprefix_CopyIn(amc::FFprefix &row, dmmeta::Fprefix &in) __attribute__((nothrow));
12411
12412// Set all fields to initial values.
12413// func:amc.FFprefix..Init
12414void                 FFprefix_Init(amc::FFprefix& fprefix);
12415// func:amc.FFprefix..Uninit
12416void                 FFprefix_Uninit(amc::FFprefix& fprefix) __attribute__((nothrow));
12417
12418// --- amc.FFregx
12419// create: amc.FDb.fregx (Lary)
12420// access: amc.FField.c_fregx (Ptr)
12421struct FFregx { // amc.FFregx
12422    algo::Smallstr100   field;      //
12423    bool                partial;    //   false
12424    algo::Smallstr50    regxtype;   //
12425    algo::Comment       comment;    //
12426private:
12427    friend amc::FFregx&         fregx_Alloc() __attribute__((__warn_unused_result__, nothrow));
12428    friend amc::FFregx*         fregx_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12429    friend void                 fregx_RemoveLast() __attribute__((nothrow));
12430    FFregx();
12431    ~FFregx();
12432    FFregx(const FFregx&){ /*disallow copy constructor */}
12433    void operator =(const FFregx&){ /*disallow direct assignment */}
12434};
12435
12436// Copy fields out of row
12437// func:amc.FFregx.msghdr.CopyOut
12438void                 fregx_CopyOut(amc::FFregx &row, dmmeta::Fregx &out) __attribute__((nothrow));
12439// Copy fields in to row
12440// func:amc.FFregx.msghdr.CopyIn
12441void                 fregx_CopyIn(amc::FFregx &row, dmmeta::Fregx &in) __attribute__((nothrow));
12442
12443// Set all fields to initial values.
12444// func:amc.FFregx..Init
12445void                 FFregx_Init(amc::FFregx& fregx);
12446// func:amc.FFregx..Uninit
12447void                 FFregx_Uninit(amc::FFregx& fregx) __attribute__((nothrow));
12448
12449// --- amc.FFsort
12450// create: amc.FDb.fsort (Lary)
12451// access: amc.FField.c_fsort (Ptr)
12452struct FFsort { // amc.FFsort
12453    algo::Smallstr100   field;       // Field (array etc) being sorted
12454    algo::Smallstr50    sorttype;    // Kind of sort to generate
12455    algo::Smallstr100   sortfld;     // Field to sort on
12456    amc::FField*        p_field;     // reference to parent row
12457    amc::FField*        p_sortfld;   // reference to parent row
12458private:
12459    friend amc::FFsort&         fsort_Alloc() __attribute__((__warn_unused_result__, nothrow));
12460    friend amc::FFsort*         fsort_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12461    friend void                 fsort_RemoveLast() __attribute__((nothrow));
12462    FFsort();
12463    ~FFsort();
12464    FFsort(const FFsort&){ /*disallow copy constructor */}
12465    void operator =(const FFsort&){ /*disallow direct assignment */}
12466};
12467
12468// Copy fields out of row
12469// func:amc.FFsort.msghdr.CopyOut
12470void                 fsort_CopyOut(amc::FFsort &row, dmmeta::Fsort &out) __attribute__((nothrow));
12471// Copy fields in to row
12472// func:amc.FFsort.msghdr.CopyIn
12473void                 fsort_CopyIn(amc::FFsort &row, dmmeta::Fsort &in) __attribute__((nothrow));
12474
12475// Set all fields to initial values.
12476// func:amc.FFsort..Init
12477void                 FFsort_Init(amc::FFsort& fsort);
12478// func:amc.FFsort..Uninit
12479void                 FFsort_Uninit(amc::FFsort& fsort) __attribute__((nothrow));
12480
12481// --- amc.FFstep
12482// create: amc.FDb.fstep (Lary)
12483// global access: ind_fstep (Thash)
12484// access: amc.FField.c_fstep (Ptr)
12485// access: amc.FNs.c_fstep (Ptrary)
12486struct FFstep { // amc.FFstep
12487    amc::FFstep*        ind_fstep_next;      // hash next
12488    algo::Smallstr100   fstep;               //
12489    algo::Smallstr50    steptype;            //
12490    algo::Comment       comment;             //
12491    amc::FFdelay*       c_fdelay;            // optional pointer
12492    amc::FField*        p_field;             // reference to parent row
12493    bool                ns_c_fstep_in_ary;   //   false  membership flag
12494private:
12495    friend amc::FFstep&         fstep_Alloc() __attribute__((__warn_unused_result__, nothrow));
12496    friend amc::FFstep*         fstep_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12497    friend void                 fstep_RemoveLast() __attribute__((nothrow));
12498    FFstep();
12499    ~FFstep();
12500    FFstep(const FFstep&){ /*disallow copy constructor */}
12501    void operator =(const FFstep&){ /*disallow direct assignment */}
12502};
12503
12504// Copy fields out of row
12505// func:amc.FFstep.msghdr.CopyOut
12506void                 fstep_CopyOut(amc::FFstep &row, dmmeta::Fstep &out) __attribute__((nothrow));
12507// Copy fields in to row
12508// func:amc.FFstep.msghdr.CopyIn
12509void                 fstep_CopyIn(amc::FFstep &row, dmmeta::Fstep &in) __attribute__((nothrow));
12510
12511// func:amc.FFstep.field.Get
12512algo::Smallstr100    field_Get(amc::FFstep& fstep) __attribute__((__warn_unused_result__, nothrow));
12513
12514// func:amc.FFstep.ns.Get
12515algo::Smallstr16     ns_Get(amc::FFstep& fstep) __attribute__((__warn_unused_result__, nothrow));
12516
12517// func:amc.FFstep.name.Get
12518algo::Smallstr50     name_Get(amc::FFstep& fstep) __attribute__((__warn_unused_result__, nothrow));
12519
12520// Insert row into pointer index. Return final membership status.
12521// func:amc.FFstep.c_fdelay.InsertMaybe
12522bool                 c_fdelay_InsertMaybe(amc::FFstep& fstep, amc::FFdelay& row) __attribute__((nothrow));
12523// Remove element from index. If element is not in index, do nothing.
12524// func:amc.FFstep.c_fdelay.Remove
12525void                 c_fdelay_Remove(amc::FFstep& fstep, amc::FFdelay& row) __attribute__((nothrow));
12526
12527// Set all fields to initial values.
12528// func:amc.FFstep..Init
12529void                 FFstep_Init(amc::FFstep& fstep);
12530// func:amc.FFstep..Uninit
12531void                 FFstep_Uninit(amc::FFstep& fstep) __attribute__((nothrow));
12532
12533// --- amc.FFtrace
12534// create: amc.FDb.ftrace (Lary)
12535// access: amc.FField.c_ftrace (Ptr)
12536struct FFtrace { // amc.FFtrace
12537    algo::Smallstr100   field;     //
12538    algo::Comment       comment;   //
12539private:
12540    friend amc::FFtrace&        ftrace_Alloc() __attribute__((__warn_unused_result__, nothrow));
12541    friend amc::FFtrace*        ftrace_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12542    friend void                 ftrace_RemoveLast() __attribute__((nothrow));
12543    FFtrace();
12544    ~FFtrace();
12545    FFtrace(const FFtrace&){ /*disallow copy constructor */}
12546    void operator =(const FFtrace&){ /*disallow direct assignment */}
12547};
12548
12549// Copy fields out of row
12550// func:amc.FFtrace.base.CopyOut
12551void                 ftrace_CopyOut(amc::FFtrace &row, dmmeta::Ftrace &out) __attribute__((nothrow));
12552// Copy fields in to row
12553// func:amc.FFtrace.base.CopyIn
12554void                 ftrace_CopyIn(amc::FFtrace &row, dmmeta::Ftrace &in) __attribute__((nothrow));
12555
12556// func:amc.FFtrace..Uninit
12557void                 FFtrace_Uninit(amc::FFtrace& ftrace) __attribute__((nothrow));
12558
12559// --- amc.FFunc
12560// create: amc.FDb.func (Lary)
12561// global access: ind_func (Thash)
12562// global access: cd_temp_func (Llist)
12563// access: amc.FCtype.c_init (Ptr)
12564// access: amc.FCtype.c_ffunc (Ptrary)
12565// access: amc.FFcmap.c_convfunc (Ptr)
12566// access: amc.FField.c_ffunc (Ptrary)
12567// access: amc.FNs.c_func (Ptrary)
12568// access: amc.Genpnew.p_func (Upptr)
12569struct FFunc { // amc.FFunc
12570    amc::FFunc*         ind_func_next;       // hash next
12571    amc::FFunc*         cd_temp_func_next;   // zslist link; -1 means not-in-list
12572    amc::FFunc*         cd_temp_func_prev;   // previous element
12573    algo::Smallstr100   func;                // Primary key
12574    bool                inl;                 //   false  Make inline?
12575    algo::cstring       proto;               // Prototype
12576    algo::cstring       body;                // Body of function
12577    bool                deprecate;           //   false  Make deprecated?
12578    bool                ismacro;             //   false  Always inline.
12579    bool                extrn;               //   false  Implemented externally by user
12580    bool                glob;                //   false  Function is not attached to a field (EXPLAIN!!)
12581    bool                priv;                //   false  Private to translateion unit (static)
12582    algo::cstring       ret;                 // Return type (c++ expression)
12583    algo::cstring       comment;             // Description
12584    amc::FNs*           p_ns;                // reference to parent row
12585    algo::cstring       nonnull;             // List of non-null attributes
12586    amc::Funcarg*       funcarg_elems;       // pointer to elements
12587    u32                 funcarg_n;           // number of elements in array
12588    u32                 funcarg_max;         // max. capacity of array before realloc
12589    bool                printed;             //   false  Already printed? (internal)
12590    bool                throws;              //   false  Throws exceptions
12591    bool                nothrow;             //   false  Definitely doesn't throw exception
12592    bool                member;              //   false  Function is a member (print inside struct)
12593    bool                disable;             //   false  Function is enabled (if not, don't print)
12594    bool                oper;                //   false  Is operator?
12595    bool                globns;              //   false  Place function outside of namespace when printing
12596    bool                isalloc;             //   false  Function returns a new value
12597    bool                wur;                 //   false  Warn on unused result
12598    bool                pure;                //   false  OK to call fewer times than specified in text
12599    bool                finalized;           //   false  Don't add any more code to me
12600    bool                isexplicit;          //   false  Is explicit constructor (add 'explicit')
12601    bool                istmpl;              //   false  Function is a template
12602    algo::cstring       prepcond;            // Preprocessor #if condition
12603    bool                ns_c_func_in_ary;    //   false  membership flag
12604private:
12605    friend amc::FFunc&          func_Alloc() __attribute__((__warn_unused_result__, nothrow));
12606    friend amc::FFunc*          func_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12607    friend void                 func_RemoveLast() __attribute__((nothrow));
12608    FFunc();
12609    ~FFunc();
12610    FFunc(const FFunc&){ /*disallow copy constructor */}
12611    void operator =(const FFunc&){ /*disallow direct assignment */}
12612};
12613
12614// Copy fields out of row
12615// func:amc.FFunc.msghdr.CopyOut
12616void                 func_CopyOut(amc::FFunc &row, dmmeta::Func &out) __attribute__((nothrow));
12617// Copy fields in to row
12618// func:amc.FFunc.msghdr.CopyIn
12619void                 func_CopyIn(amc::FFunc &row, dmmeta::Func &in) __attribute__((nothrow));
12620
12621// func:amc.FFunc.field.Get
12622algo::Smallstr100    field_Get(amc::FFunc& func) __attribute__((__warn_unused_result__, nothrow));
12623
12624// func:amc.FFunc.name.Get
12625algo::Smallstr50     name_Get(amc::FFunc& func) __attribute__((__warn_unused_result__, nothrow));
12626
12627// func:amc.FFunc.ctype.Get
12628algo::Smallstr100    ctype_Get(amc::FFunc& func) __attribute__((__warn_unused_result__, nothrow));
12629
12630// func:amc.FFunc.ns.Get
12631algo::Smallstr16     ns_Get(amc::FFunc& func) __attribute__((__warn_unused_result__, nothrow));
12632
12633// Reserve space (this may move memory). Insert N element at the end.
12634// Return aryptr to newly inserted block.
12635// If the RHS argument aliases the array (refers to the same memory), exit program with fatal error.
12636// func:amc.FFunc.funcarg.Addary
12637algo::aryptr<amc::Funcarg> funcarg_Addary(amc::FFunc& func, algo::aryptr<amc::Funcarg> rhs) __attribute__((nothrow));
12638// Reserve space. Insert element at the end
12639// The new element is initialized to a default value
12640// func:amc.FFunc.funcarg.Alloc
12641amc::Funcarg&        funcarg_Alloc(amc::FFunc& func) __attribute__((__warn_unused_result__, nothrow));
12642// Reserve space for new element, reallocating the array if necessary
12643// Insert new element at specified index. Index must be in range or a fatal error occurs.
12644// func:amc.FFunc.funcarg.AllocAt
12645amc::Funcarg&        funcarg_AllocAt(amc::FFunc& func, int at) __attribute__((__warn_unused_result__, nothrow));
12646// Reserve space. Insert N elements at the end of the array, return pointer to array
12647// func:amc.FFunc.funcarg.AllocN
12648algo::aryptr<amc::Funcarg> funcarg_AllocN(amc::FFunc& func, int n_elems) __attribute__((__warn_unused_result__, nothrow));
12649// Return true if index is empty
12650// func:amc.FFunc.funcarg.EmptyQ
12651bool                 funcarg_EmptyQ(amc::FFunc& func) __attribute__((nothrow));
12652// Look up row by row id. Return NULL if out of range
12653// func:amc.FFunc.funcarg.Find
12654amc::Funcarg*        funcarg_Find(amc::FFunc& func, u64 t) __attribute__((__warn_unused_result__, nothrow));
12655// Return array pointer by value
12656// func:amc.FFunc.funcarg.Getary
12657algo::aryptr<amc::Funcarg> funcarg_Getary(const amc::FFunc& func) __attribute__((nothrow));
12658// Return pointer to last element of array, or NULL if array is empty
12659// func:amc.FFunc.funcarg.Last
12660amc::Funcarg*        funcarg_Last(amc::FFunc& func) __attribute__((nothrow, pure));
12661// Return max. number of items in the array
12662// func:amc.FFunc.funcarg.Max
12663i32                  funcarg_Max(amc::FFunc& func) __attribute__((nothrow));
12664// Return number of items in the array
12665// func:amc.FFunc.funcarg.N
12666i32                  funcarg_N(const amc::FFunc& func) __attribute__((__warn_unused_result__, nothrow, pure));
12667// Remove item by index. If index outside of range, do nothing.
12668// func:amc.FFunc.funcarg.Remove
12669void                 funcarg_Remove(amc::FFunc& func, u32 i) __attribute__((nothrow));
12670// func:amc.FFunc.funcarg.RemoveAll
12671void                 funcarg_RemoveAll(amc::FFunc& func) __attribute__((nothrow));
12672// Delete last element of array. Do nothing if array is empty.
12673// func:amc.FFunc.funcarg.RemoveLast
12674void                 funcarg_RemoveLast(amc::FFunc& func) __attribute__((nothrow));
12675// Make sure N *more* elements will fit in array. Process dies if out of memory
12676// func:amc.FFunc.funcarg.Reserve
12677void                 funcarg_Reserve(amc::FFunc& func, int n) __attribute__((nothrow));
12678// Make sure N elements fit in array. Process dies if out of memory
12679// func:amc.FFunc.funcarg.AbsReserve
12680void                 funcarg_AbsReserve(amc::FFunc& func, int n) __attribute__((nothrow));
12681// Copy contents of RHS to PARENT.
12682// func:amc.FFunc.funcarg.Setary
12683void                 funcarg_Setary(amc::FFunc& func, amc::FFunc &rhs) __attribute__((nothrow));
12684// Copy specified array into funcarg, discarding previous contents.
12685// If the RHS argument aliases the array (refers to the same memory), throw exception.
12686// func:amc.FFunc.funcarg.Setary2
12687void                 funcarg_Setary(amc::FFunc& func, const algo::aryptr<amc::Funcarg> &rhs) __attribute__((nothrow));
12688// 'quick' Access row by row id. No bounds checking.
12689// func:amc.FFunc.funcarg.qFind
12690amc::Funcarg&        funcarg_qFind(amc::FFunc& func, u64 t) __attribute__((nothrow));
12691// Return reference to last element of array. No bounds checking
12692// func:amc.FFunc.funcarg.qLast
12693amc::Funcarg&        funcarg_qLast(amc::FFunc& func) __attribute__((nothrow));
12694// Return row id of specified element
12695// func:amc.FFunc.funcarg.rowid_Get
12696u64                  funcarg_rowid_Get(amc::FFunc& func, amc::Funcarg &elem) __attribute__((nothrow));
12697// Reserve space. Insert N elements at the end of the array, return pointer to array
12698// func:amc.FFunc.funcarg.AllocNVal
12699algo::aryptr<amc::Funcarg> funcarg_AllocNVal(amc::FFunc& func, int n_elems, const amc::Funcarg& val) __attribute__((nothrow));
12700
12701// Set all fields to initial values.
12702// func:amc.FFunc..Init
12703void                 FFunc_Init(amc::FFunc& func);
12704// proceed to next item
12705// func:amc.FFunc.funcarg_curs.Next
12706void                 func_funcarg_curs_Next(func_funcarg_curs &curs) __attribute__((nothrow));
12707// func:amc.FFunc.funcarg_curs.Reset
12708void                 func_funcarg_curs_Reset(func_funcarg_curs &curs, amc::FFunc &parent) __attribute__((nothrow));
12709// cursor points to valid item
12710// func:amc.FFunc.funcarg_curs.ValidQ
12711bool                 func_funcarg_curs_ValidQ(func_funcarg_curs &curs) __attribute__((nothrow));
12712// item access
12713// func:amc.FFunc.funcarg_curs.Access
12714amc::Funcarg&        func_funcarg_curs_Access(func_funcarg_curs &curs) __attribute__((nothrow));
12715// func:amc.FFunc..Uninit
12716void                 FFunc_Uninit(amc::FFunc& func) __attribute__((nothrow));
12717
12718// --- amc.FFunique
12719// create: amc.FDb.funique (Lary)
12720// access: amc.FField.c_funique (Ptr)
12721struct FFunique { // amc.FFunique
12722    algo::Smallstr100   field;     //
12723    algo::Comment       comment;   //
12724private:
12725    friend amc::FFunique&       funique_Alloc() __attribute__((__warn_unused_result__, nothrow));
12726    friend amc::FFunique*       funique_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12727    friend void                 funique_RemoveAll() __attribute__((nothrow));
12728    friend void                 funique_RemoveLast() __attribute__((nothrow));
12729    FFunique();
12730    ~FFunique();
12731    FFunique(const FFunique&){ /*disallow copy constructor */}
12732    void operator =(const FFunique&){ /*disallow direct assignment */}
12733};
12734
12735// Copy fields out of row
12736// func:amc.FFunique.base.CopyOut
12737void                 funique_CopyOut(amc::FFunique &row, dmmeta::Funique &out) __attribute__((nothrow));
12738// Copy fields in to row
12739// func:amc.FFunique.base.CopyIn
12740void                 funique_CopyIn(amc::FFunique &row, dmmeta::Funique &in) __attribute__((nothrow));
12741
12742// func:amc.FFunique..Uninit
12743void                 FFunique_Uninit(amc::FFunique& funique) __attribute__((nothrow));
12744
12745// --- amc.FFuserinit
12746// create: amc.FDb.fuserinit (Lary)
12747// access: amc.FField.c_fuserinit (Ptr)
12748struct FFuserinit { // amc.FFuserinit
12749    algo::Smallstr100   field;     //
12750    algo::Comment       comment;   //
12751private:
12752    friend amc::FFuserinit&     fuserinit_Alloc() __attribute__((__warn_unused_result__, nothrow));
12753    friend amc::FFuserinit*     fuserinit_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12754    friend void                 fuserinit_RemoveAll() __attribute__((nothrow));
12755    friend void                 fuserinit_RemoveLast() __attribute__((nothrow));
12756    FFuserinit();
12757    ~FFuserinit();
12758    FFuserinit(const FFuserinit&){ /*disallow copy constructor */}
12759    void operator =(const FFuserinit&){ /*disallow direct assignment */}
12760};
12761
12762// Copy fields out of row
12763// func:amc.FFuserinit.base.CopyOut
12764void                 fuserinit_CopyOut(amc::FFuserinit &row, dmmeta::Fuserinit &out) __attribute__((nothrow));
12765// Copy fields in to row
12766// func:amc.FFuserinit.base.CopyIn
12767void                 fuserinit_CopyIn(amc::FFuserinit &row, dmmeta::Fuserinit &in) __attribute__((nothrow));
12768
12769// func:amc.FFuserinit..Uninit
12770void                 FFuserinit_Uninit(amc::FFuserinit& fuserinit) __attribute__((nothrow));
12771
12772// --- amc.FFwddecl
12773// create: amc.FDb.fwddecl (Lary)
12774// global access: ind_fwddecl (Thash)
12775// access: amc.FNs.c_fwddecl (Ptrary)
12776struct FFwddecl { // amc.FFwddecl
12777    amc::FFwddecl*      ind_fwddecl_next;      // hash next
12778    algo::Smallstr100   fwddecl;               //
12779    bool                ns_c_fwddecl_in_ary;   //   false  membership flag
12780private:
12781    friend amc::FFwddecl&       fwddecl_Alloc() __attribute__((__warn_unused_result__, nothrow));
12782    friend amc::FFwddecl*       fwddecl_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12783    friend void                 fwddecl_RemoveLast() __attribute__((nothrow));
12784    FFwddecl();
12785    ~FFwddecl();
12786    FFwddecl(const FFwddecl&){ /*disallow copy constructor */}
12787    void operator =(const FFwddecl&){ /*disallow direct assignment */}
12788};
12789
12790// Copy fields out of row
12791// func:amc.FFwddecl.msghdr.CopyOut
12792void                 fwddecl_CopyOut(amc::FFwddecl &row, dmmeta::Fwddecl &out) __attribute__((nothrow));
12793// Copy fields in to row
12794// func:amc.FFwddecl.msghdr.CopyIn
12795void                 fwddecl_CopyIn(amc::FFwddecl &row, dmmeta::Fwddecl &in) __attribute__((nothrow));
12796
12797// func:amc.FFwddecl.ns.Get
12798algo::Smallstr16     ns_Get(amc::FFwddecl& fwddecl) __attribute__((__warn_unused_result__, nothrow));
12799
12800// func:amc.FFwddecl.ctype.Get
12801algo::Smallstr100    ctype_Get(amc::FFwddecl& fwddecl) __attribute__((__warn_unused_result__, nothrow));
12802
12803// Set all fields to initial values.
12804// func:amc.FFwddecl..Init
12805void                 FFwddecl_Init(amc::FFwddecl& fwddecl);
12806// func:amc.FFwddecl..Uninit
12807void                 FFwddecl_Uninit(amc::FFwddecl& fwddecl) __attribute__((nothrow));
12808
12809// --- amc.FGconst
12810// create: amc.FDb.gconst (Lary)
12811// access: amc.FField.c_gconst (Ptr)
12812struct FGconst { // amc.FGconst
12813    algo::Smallstr100   field;       // Field with which to associate constants
12814    algo::Smallstr100   namefld;     // Field which gives the name of the constant
12815    algo::Smallstr100   idfld;       // Optional attribute of namefld that gives numeric ID for gconst
12816    bool                wantenum;    //   true
12817    amc::FField*        p_namefld;   // reference to parent row
12818    amc::FField*        p_field;     // reference to parent row
12819private:
12820    friend amc::FGconst&        gconst_Alloc() __attribute__((__warn_unused_result__, nothrow));
12821    friend amc::FGconst*        gconst_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12822    friend void                 gconst_RemoveLast() __attribute__((nothrow));
12823    FGconst();
12824    ~FGconst();
12825    FGconst(const FGconst&){ /*disallow copy constructor */}
12826    void operator =(const FGconst&){ /*disallow direct assignment */}
12827};
12828
12829// Copy fields out of row
12830// func:amc.FGconst.msghdr.CopyOut
12831void                 gconst_CopyOut(amc::FGconst &row, dmmeta::Gconst &out) __attribute__((nothrow));
12832// Copy fields in to row
12833// func:amc.FGconst.msghdr.CopyIn
12834void                 gconst_CopyIn(amc::FGconst &row, dmmeta::Gconst &in) __attribute__((nothrow));
12835
12836// func:amc.FGconst.namefldctyp.Get
12837algo::Smallstr100    namefldctyp_Get(amc::FGconst& gconst) __attribute__((__warn_unused_result__, nothrow));
12838
12839// Set all fields to initial values.
12840// func:amc.FGconst..Init
12841void                 FGconst_Init(amc::FGconst& gconst);
12842// func:amc.FGconst..Uninit
12843void                 FGconst_Uninit(amc::FGconst& gconst) __attribute__((nothrow));
12844
12845// --- amc.FGen
12846// create: amc.FDb.gen (Lary)
12847// global access: zs_gen_perns (Llist)
12848struct FGen { // amc.FGen
12849    amc::FGen*           zs_gen_perns_next;   // zslist link; -1 means not-in-list
12850    algo::Smallstr50     gen;                 //
12851    bool                 perns;               //   false
12852    algo::Comment        comment;             //
12853    u64                  cycle_total;         //   0
12854    amc::gen_step_hook   step;                //   NULL  Pointer to a function
12855private:
12856    friend amc::FGen&           gen_Alloc() __attribute__((__warn_unused_result__, nothrow));
12857    friend amc::FGen*           gen_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
12858    friend void                 gen_RemoveAll() __attribute__((nothrow));
12859    friend void                 gen_RemoveLast() __attribute__((nothrow));
12860    FGen();
12861    ~FGen();
12862    FGen(const FGen&){ /*disallow copy constructor */}
12863    void operator =(const FGen&){ /*disallow direct assignment */}
12864};
12865
12866// Copy fields out of row
12867// func:amc.FGen.msghdr.CopyOut
12868void                 gen_CopyOut(amc::FGen &row, amcdb::Gen &out) __attribute__((nothrow));
12869// Copy fields in to row
12870// func:amc.FGen.msghdr.CopyIn
12871void                 gen_CopyIn(amc::FGen &row, amcdb::Gen &in) __attribute__((nothrow));
12872
12873// Invoke function by pointer
12874// func:amc.FGen.step.Call
12875void                 step_Call(amc::FGen& gen) __attribute__((nothrow));
12876
12877// Set all fields to initial values.
12878// func:amc.FGen..Init
12879void                 FGen_Init(amc::FGen& gen);
12880// func:amc.FGen..Uninit
12881void                 FGen_Uninit(amc::FGen& gen) __attribute__((nothrow));
12882
12883// --- amc.FGenXref
12884struct FGenXref { // amc.FGenXref
12885    amc::FGenXrefSeen**   ind_seen_buckets_elems;   // pointer to bucket array
12886    i32                   ind_seen_buckets_n;       // number of elements in bucket array
12887    i32                   ind_seen_n;               // number of elements in the hash table
12888    amc::FGenXrefSeen*    seen_lary[32];            // level array
12889    i32                   seen_n;                   // number of elements in array
12890    FGenXref();
12891    ~FGenXref();
12892private:
12893    // reftype Thash of amc.FGenXref.ind_seen prohibits copy
12894    // reftype Lary of amc.FGenXref.seen prohibits copy
12895    FGenXref(const FGenXref&){ /*disallow copy constructor */}
12896    void operator =(const FGenXref&){ /*disallow direct assignment */}
12897};
12898
12899// Return true if hash is empty
12900// func:amc.FGenXref.ind_seen.EmptyQ
12901bool                 ind_seen_EmptyQ(amc::FGenXref& parent) __attribute__((nothrow));
12902// Find row by key. Return NULL if not found.
12903// func:amc.FGenXref.ind_seen.Find
12904amc::FGenXrefSeen*   ind_seen_Find(amc::FGenXref& parent, const algo::strptr& key) __attribute__((__warn_unused_result__, nothrow));
12905// Return number of items in the hash
12906// func:amc.FGenXref.ind_seen.N
12907i32                  ind_seen_N(const amc::FGenXref& parent) __attribute__((__warn_unused_result__, nothrow, pure));
12908// Insert row into hash table. Return true if row is reachable through the hash after the function completes.
12909// func:amc.FGenXref.ind_seen.InsertMaybe
12910bool                 ind_seen_InsertMaybe(amc::FGenXref& parent, amc::FGenXrefSeen& row) __attribute__((nothrow));
12911// Remove reference to element from hash index. If element is not in hash, do nothing
12912// func:amc.FGenXref.ind_seen.Remove
12913void                 ind_seen_Remove(amc::FGenXref& parent, amc::FGenXrefSeen& row) __attribute__((nothrow));
12914// Reserve enough room in the hash for N more elements. Return success code.
12915// func:amc.FGenXref.ind_seen.Reserve
12916void                 ind_seen_Reserve(amc::FGenXref& parent, int n) __attribute__((nothrow));
12917
12918// Allocate memory for new default row.
12919// If out of memory, process is killed.
12920// func:amc.FGenXref.seen.Alloc
12921amc::FGenXrefSeen&   seen_Alloc(amc::FGenXref& parent) __attribute__((__warn_unused_result__, nothrow));
12922// Allocate memory for new element. If out of memory, return NULL.
12923// func:amc.FGenXref.seen.AllocMaybe
12924amc::FGenXrefSeen*   seen_AllocMaybe(amc::FGenXref& parent) __attribute__((__warn_unused_result__, nothrow));
12925// Allocate space for one element. If no memory available, return NULL.
12926// func:amc.FGenXref.seen.AllocMem
12927void*                seen_AllocMem(amc::FGenXref& parent) __attribute__((__warn_unused_result__, nothrow));
12928// Return true if index is empty
12929// func:amc.FGenXref.seen.EmptyQ
12930bool                 seen_EmptyQ(amc::FGenXref& parent) __attribute__((nothrow, pure));
12931// Look up row by row id. Return NULL if out of range
12932// func:amc.FGenXref.seen.Find
12933amc::FGenXrefSeen*   seen_Find(amc::FGenXref& parent, u64 t) __attribute__((__warn_unused_result__, nothrow, pure));
12934// Return pointer to last element of array, or NULL if array is empty
12935// func:amc.FGenXref.seen.Last
12936amc::FGenXrefSeen*   seen_Last(amc::FGenXref& parent) __attribute__((nothrow, pure));
12937// Return number of items in the pool
12938// func:amc.FGenXref.seen.N
12939i32                  seen_N(const amc::FGenXref& parent) __attribute__((__warn_unused_result__, nothrow, pure));
12940// Remove all elements from Lary
12941// func:amc.FGenXref.seen.RemoveAll
12942void                 seen_RemoveAll(amc::FGenXref& parent) __attribute__((nothrow));
12943// Delete last element of array. Do nothing if array is empty.
12944// func:amc.FGenXref.seen.RemoveLast
12945void                 seen_RemoveLast(amc::FGenXref& parent) __attribute__((nothrow));
12946// 'quick' Access row by row id. No bounds checking.
12947// func:amc.FGenXref.seen.qFind
12948amc::FGenXrefSeen&   seen_qFind(amc::FGenXref& parent, u64 t) __attribute__((nothrow, pure));
12949// Insert row into all appropriate indices. If error occurs, store error
12950// in algo_lib::_db.errtext and return false. Caller must Delete or Unref such row.
12951// func:amc.FGenXref.seen.XrefMaybe
12952bool                 seen_XrefMaybe(amc::FGenXrefSeen &row);
12953
12954// cursor points to valid item
12955// func:amc.FGenXref.seen_curs.Reset
12956void                 FGenXref_seen_curs_Reset(FGenXref_seen_curs &curs, amc::FGenXref &parent) __attribute__((nothrow));
12957// cursor points to valid item
12958// func:amc.FGenXref.seen_curs.ValidQ
12959bool                 FGenXref_seen_curs_ValidQ(FGenXref_seen_curs &curs) __attribute__((nothrow));
12960// proceed to next item
12961// func:amc.FGenXref.seen_curs.Next
12962void                 FGenXref_seen_curs_Next(FGenXref_seen_curs &curs) __attribute__((nothrow));
12963// item access
12964// func:amc.FGenXref.seen_curs.Access
12965amc::FGenXrefSeen&   FGenXref_seen_curs_Access(FGenXref_seen_curs &curs) __attribute__((nothrow));
12966// Set all fields to initial values.
12967// func:amc.FGenXref..Init
12968void                 FGenXref_Init(amc::FGenXref& parent);
12969// func:amc.FGenXref..Uninit
12970void                 FGenXref_Uninit(amc::FGenXref& parent) __attribute__((nothrow));
12971
12972// --- amc.FGenXrefSeen
12973// create: amc.FGenXref.seen (Lary)
12974// access: amc.FGenXref.ind_seen (Thash)
12975struct FGenXrefSeen { // amc.FGenXrefSeen
12976    amc::FGenXrefSeen*   ind_seen_next;   // hash next
12977    algo::cstring        value;           //
12978    algo::Smallstr100    via;             // Saved via
12979    algo::Smallstr100    xreffld;         // Saved xreffld
12980private:
12981    friend amc::FGenXrefSeen&   seen_Alloc(amc::FGenXref& parent) __attribute__((__warn_unused_result__, nothrow));
12982    friend amc::FGenXrefSeen*   seen_AllocMaybe(amc::FGenXref& parent) __attribute__((__warn_unused_result__, nothrow));
12983    friend void                 seen_RemoveAll(amc::FGenXref& parent) __attribute__((nothrow));
12984    friend void                 seen_RemoveLast(amc::FGenXref& parent) __attribute__((nothrow));
12985    FGenXrefSeen();
12986};
12987
12988// Set all fields to initial values.
12989// func:amc.FGenXrefSeen..Init
12990void                 FGenXrefSeen_Init(amc::FGenXrefSeen& seen);
12991
12992// --- amc.FGstatic
12993// create: amc.FDb.gstatic (Lary)
12994// access: amc.FField.c_gstatic (Ptr)
12995// access: amc.FNs.c_gstatic (Ptrary)
12996struct FGstatic { // amc.FGstatic
12997    algo::Smallstr100   field;                 //
12998    amc::FField*        p_field;               // reference to parent row
12999    u32                 rowid;                 //   0
13000    bool                ns_c_gstatic_in_ary;   //   false  membership flag
13001private:
13002    friend amc::FGstatic&       gstatic_Alloc() __attribute__((__warn_unused_result__, nothrow));
13003    friend amc::FGstatic*       gstatic_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13004    friend void                 gstatic_RemoveLast() __attribute__((nothrow));
13005    FGstatic();
13006    ~FGstatic();
13007    FGstatic(const FGstatic&){ /*disallow copy constructor */}
13008    void operator =(const FGstatic&){ /*disallow direct assignment */}
13009};
13010
13011// Copy fields out of row
13012// func:amc.FGstatic.msghdr.CopyOut
13013void                 gstatic_CopyOut(amc::FGstatic &row, dmmeta::Gstatic &out) __attribute__((nothrow));
13014// Copy fields in to row
13015// func:amc.FGstatic.msghdr.CopyIn
13016void                 gstatic_CopyIn(amc::FGstatic &row, dmmeta::Gstatic &in) __attribute__((nothrow));
13017
13018// func:amc.FGstatic.ns.Get
13019algo::Smallstr16     ns_Get(amc::FGstatic& gstatic) __attribute__((__warn_unused_result__, nothrow));
13020
13021// Set all fields to initial values.
13022// func:amc.FGstatic..Init
13023void                 FGstatic_Init(amc::FGstatic& gstatic);
13024// func:amc.FGstatic..Uninit
13025void                 FGstatic_Uninit(amc::FGstatic& gstatic) __attribute__((nothrow));
13026
13027// --- amc.FGsymbol
13028// create: amc.FDb.gsymbol (Lary)
13029// access: amc.FNs.c_gsymbol (Ptrary)
13030struct FGsymbol { // amc.FGsymbol
13031    algo::Smallstr50    gsymbol;               //
13032    algo::Smallstr100   inc;                   // Regex to filter rows
13033    algo::Smallstr100   symboltype;            //
13034    algo::Comment       comment;               //
13035    amc::FSsimfile*     p_ssimfile;            // reference to parent row
13036    amc::FCtype*        p_symboltype;          // reference to parent row
13037    bool                ns_c_gsymbol_in_ary;   //   false  membership flag
13038private:
13039    friend amc::FGsymbol&       gsymbol_Alloc() __attribute__((__warn_unused_result__, nothrow));
13040    friend amc::FGsymbol*       gsymbol_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13041    friend void                 gsymbol_RemoveAll() __attribute__((nothrow));
13042    friend void                 gsymbol_RemoveLast() __attribute__((nothrow));
13043    FGsymbol();
13044    ~FGsymbol();
13045    FGsymbol(const FGsymbol&){ /*disallow copy constructor */}
13046    void operator =(const FGsymbol&){ /*disallow direct assignment */}
13047};
13048
13049// Copy fields out of row
13050// func:amc.FGsymbol.base.CopyOut
13051void                 gsymbol_CopyOut(amc::FGsymbol &row, dmmeta::Gsymbol &out) __attribute__((nothrow));
13052// Copy fields in to row
13053// func:amc.FGsymbol.base.CopyIn
13054void                 gsymbol_CopyIn(amc::FGsymbol &row, dmmeta::Gsymbol &in) __attribute__((nothrow));
13055
13056// func:amc.FGsymbol.ns.Get
13057algo::Smallstr16     ns_Get(amc::FGsymbol& gsymbol) __attribute__((__warn_unused_result__, nothrow));
13058
13059// func:amc.FGsymbol.ssimfile.Get
13060algo::Smallstr50     ssimfile_Get(amc::FGsymbol& gsymbol) __attribute__((__warn_unused_result__, nothrow));
13061
13062// Set all fields to initial values.
13063// func:amc.FGsymbol..Init
13064void                 FGsymbol_Init(amc::FGsymbol& gsymbol);
13065// func:amc.FGsymbol..Uninit
13066void                 FGsymbol_Uninit(amc::FGsymbol& gsymbol) __attribute__((nothrow));
13067
13068// --- amc.FHook
13069// create: amc.FDb.hook (Lary)
13070// access: amc.FField.c_hook (Ptr)
13071struct FHook { // amc.FHook
13072    algo::Smallstr100   field;       // The field
13073    algo::Comment       comment;     //
13074    amc::FCtype*        p_funcptr;   // reference to parent row
13075    amc::FField*        p_field;     // reference to parent row
13076private:
13077    friend amc::FHook&          hook_Alloc() __attribute__((__warn_unused_result__, nothrow));
13078    friend amc::FHook*          hook_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13079    friend void                 hook_RemoveAll() __attribute__((nothrow));
13080    friend void                 hook_RemoveLast() __attribute__((nothrow));
13081    FHook();
13082    ~FHook();
13083    FHook(const FHook&){ /*disallow copy constructor */}
13084    void operator =(const FHook&){ /*disallow direct assignment */}
13085};
13086
13087// Copy fields out of row
13088// func:amc.FHook.base.CopyOut
13089void                 hook_CopyOut(amc::FHook &row, dmmeta::Hook &out) __attribute__((nothrow));
13090// Copy fields in to row
13091// func:amc.FHook.base.CopyIn
13092void                 hook_CopyIn(amc::FHook &row, dmmeta::Hook &in) __attribute__((nothrow));
13093
13094// Set all fields to initial values.
13095// func:amc.FHook..Init
13096void                 FHook_Init(amc::FHook& hook);
13097// func:amc.FHook..Uninit
13098void                 FHook_Uninit(amc::FHook& hook) __attribute__((nothrow));
13099
13100// --- amc.FInlary
13101// create: amc.FDb.inlary (Lary)
13102// global access: ind_inlary (Thash)
13103// access: amc.FField.c_inlary (Ptr)
13104struct FInlary { // amc.FInlary
13105    amc::FInlary*       ind_inlary_next;   // hash next
13106    algo::Smallstr100   field;             //
13107    i32                 min;               //   0  Min. elements to preallocate
13108    i32                 max;               //   0  Max. elements
13109    algo::Comment       comment;           //
13110private:
13111    friend amc::FInlary&        inlary_Alloc() __attribute__((__warn_unused_result__, nothrow));
13112    friend amc::FInlary*        inlary_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13113    friend void                 inlary_RemoveLast() __attribute__((nothrow));
13114    FInlary();
13115    ~FInlary();
13116    FInlary(const FInlary&){ /*disallow copy constructor */}
13117    void operator =(const FInlary&){ /*disallow direct assignment */}
13118};
13119
13120// Copy fields out of row
13121// func:amc.FInlary.msghdr.CopyOut
13122void                 inlary_CopyOut(amc::FInlary &row, dmmeta::Inlary &out) __attribute__((nothrow));
13123// Copy fields in to row
13124// func:amc.FInlary.msghdr.CopyIn
13125void                 inlary_CopyIn(amc::FInlary &row, dmmeta::Inlary &in) __attribute__((nothrow));
13126
13127// Set all fields to initial values.
13128// func:amc.FInlary..Init
13129void                 FInlary_Init(amc::FInlary& inlary);
13130// func:amc.FInlary..Uninit
13131void                 FInlary_Uninit(amc::FInlary& inlary) __attribute__((nothrow));
13132
13133// --- amc.FLenfld
13134// create: amc.FDb.lenfld (Lary)
13135// access: amc.FCtype.c_lenfld (Ptr)
13136struct FLenfld { // amc.FLenfld
13137    algo::Smallstr100   field;     // Name of length field
13138    i32                 extra;     //   0  Extra #bytes to add
13139    amc::FField*        p_field;   // reference to parent row
13140private:
13141    friend amc::FLenfld&        lenfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
13142    friend amc::FLenfld*        lenfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13143    friend void                 lenfld_RemoveLast() __attribute__((nothrow));
13144    FLenfld();
13145    ~FLenfld();
13146    FLenfld(const FLenfld&){ /*disallow copy constructor */}
13147    void operator =(const FLenfld&){ /*disallow direct assignment */}
13148};
13149
13150// Copy fields out of row
13151// func:amc.FLenfld.msghdr.CopyOut
13152void                 lenfld_CopyOut(amc::FLenfld &row, dmmeta::Lenfld &out) __attribute__((nothrow));
13153// Copy fields in to row
13154// func:amc.FLenfld.msghdr.CopyIn
13155void                 lenfld_CopyIn(amc::FLenfld &row, dmmeta::Lenfld &in) __attribute__((nothrow));
13156
13157// func:amc.FLenfld.ctype.Get
13158algo::Smallstr100    ctype_Get(amc::FLenfld& lenfld) __attribute__((__warn_unused_result__, nothrow));
13159
13160// Set all fields to initial values.
13161// func:amc.FLenfld..Init
13162void                 FLenfld_Init(amc::FLenfld& lenfld);
13163// func:amc.FLenfld..Uninit
13164void                 FLenfld_Uninit(amc::FLenfld& lenfld) __attribute__((nothrow));
13165
13166// --- amc.FLicense
13167// create: amc.FDb.license (Lary)
13168// global access: ind_license (Thash)
13169// access: amc.FNs.p_license (Upptr)
13170struct FLicense { // amc.FLicense
13171    amc::FLicense*     ind_license_next;   // hash next
13172    algo::Smallstr50   license;            //
13173    algo::Comment      comment;            //
13174    algo::cstring      text;               //
13175private:
13176    friend amc::FLicense&       license_Alloc() __attribute__((__warn_unused_result__, nothrow));
13177    friend amc::FLicense*       license_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13178    friend void                 license_RemoveAll() __attribute__((nothrow));
13179    friend void                 license_RemoveLast() __attribute__((nothrow));
13180    FLicense();
13181    ~FLicense();
13182    FLicense(const FLicense&){ /*disallow copy constructor */}
13183    void operator =(const FLicense&){ /*disallow direct assignment */}
13184};
13185
13186// Copy fields out of row
13187// func:amc.FLicense.base.CopyOut
13188void                 license_CopyOut(amc::FLicense &row, dev::License &out) __attribute__((nothrow));
13189// Copy fields in to row
13190// func:amc.FLicense.base.CopyIn
13191void                 license_CopyIn(amc::FLicense &row, dev::License &in) __attribute__((nothrow));
13192
13193// Set all fields to initial values.
13194// func:amc.FLicense..Init
13195void                 FLicense_Init(amc::FLicense& license);
13196// func:amc.FLicense..Uninit
13197void                 FLicense_Uninit(amc::FLicense& license) __attribute__((nothrow));
13198
13199// --- amc.FListtype
13200// create: amc.FDb.listtype (Lary)
13201// global access: ind_listtype (Thash)
13202// access: amc.FLlist.p_listtype (Upptr)
13203struct FListtype { // amc.FListtype
13204    amc::FListtype*   ind_listtype_next;   // hash next
13205    algo::Smallstr5   listtype;            //
13206    bool              circular;            //   false  Circular list
13207    bool              haveprev;            //   false  Previous link
13208    bool              instail;             //   false  Queue
13209private:
13210    friend amc::FListtype&      listtype_Alloc() __attribute__((__warn_unused_result__, nothrow));
13211    friend amc::FListtype*      listtype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13212    friend void                 listtype_RemoveLast() __attribute__((nothrow));
13213    FListtype();
13214    ~FListtype();
13215    FListtype(const FListtype&){ /*disallow copy constructor */}
13216    void operator =(const FListtype&){ /*disallow direct assignment */}
13217};
13218
13219// Copy fields out of row
13220// func:amc.FListtype.msghdr.CopyOut
13221void                 listtype_CopyOut(amc::FListtype &row, dmmeta::Listtype &out) __attribute__((nothrow));
13222// Copy fields in to row
13223// func:amc.FListtype.msghdr.CopyIn
13224void                 listtype_CopyIn(amc::FListtype &row, dmmeta::Listtype &in) __attribute__((nothrow));
13225
13226// Set all fields to initial values.
13227// func:amc.FListtype..Init
13228void                 FListtype_Init(amc::FListtype& listtype);
13229// func:amc.FListtype..Uninit
13230void                 FListtype_Uninit(amc::FListtype& listtype) __attribute__((nothrow));
13231
13232// --- amc.FLlist
13233// create: amc.FDb.llist (Lary)
13234// access: amc.FField.c_llist (Ptr)
13235struct FLlist { // amc.FLlist
13236    algo::Smallstr100   field;        // Index in question
13237    bool                havetail;     //   true  Generate 'tail' field
13238    bool                havecount;    //   false  Generate count of elements
13239    amc::FListtype*     p_listtype;   // reference to parent row
13240private:
13241    friend amc::FLlist&         llist_Alloc() __attribute__((__warn_unused_result__, nothrow));
13242    friend amc::FLlist*         llist_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13243    friend void                 llist_RemoveLast() __attribute__((nothrow));
13244    FLlist();
13245    ~FLlist();
13246    FLlist(const FLlist&){ /*disallow copy constructor */}
13247    void operator =(const FLlist&){ /*disallow direct assignment */}
13248};
13249
13250// Copy fields out of row
13251// func:amc.FLlist.msghdr.CopyOut
13252void                 llist_CopyOut(amc::FLlist &row, dmmeta::Llist &out) __attribute__((nothrow));
13253// Copy fields in to row
13254// func:amc.FLlist.msghdr.CopyIn
13255void                 llist_CopyIn(amc::FLlist &row, dmmeta::Llist &in) __attribute__((nothrow));
13256
13257// func:amc.FLlist.listtype.Get
13258algo::Smallstr5      listtype_Get(amc::FLlist& llist) __attribute__((__warn_unused_result__, nothrow));
13259
13260// Set all fields to initial values.
13261// func:amc.FLlist..Init
13262void                 FLlist_Init(amc::FLlist& llist);
13263// func:amc.FLlist..Uninit
13264void                 FLlist_Uninit(amc::FLlist& llist) __attribute__((nothrow));
13265
13266// --- amc.FMain
13267// create: amc.FDb.main (Lary)
13268// global access: ind_main (Thash)
13269// access: amc.FNs.c_main (Ptr)
13270struct FMain { // amc.FMain
13271    amc::FMain*        ind_main_next;   // hash next
13272    algo::Smallstr16   ns;              //
13273    bool               ismodule;        //   false
13274private:
13275    friend amc::FMain&          main_Alloc() __attribute__((__warn_unused_result__, nothrow));
13276    friend amc::FMain*          main_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13277    friend void                 main_RemoveLast() __attribute__((nothrow));
13278    FMain();
13279    ~FMain();
13280    FMain(const FMain&){ /*disallow copy constructor */}
13281    void operator =(const FMain&){ /*disallow direct assignment */}
13282};
13283
13284// Copy fields out of row
13285// func:amc.FMain.msghdr.CopyOut
13286void                 main_CopyOut(amc::FMain &row, dmmeta::Main &out) __attribute__((nothrow));
13287// Copy fields in to row
13288// func:amc.FMain.msghdr.CopyIn
13289void                 main_CopyIn(amc::FMain &row, dmmeta::Main &in) __attribute__((nothrow));
13290
13291// Set all fields to initial values.
13292// func:amc.FMain..Init
13293void                 FMain_Init(amc::FMain& main);
13294// func:amc.FMain..Uninit
13295void                 FMain_Uninit(amc::FMain& main) __attribute__((nothrow));
13296
13297// --- amc.FMsgtype
13298// create: amc.FDb.msgtype (Lary)
13299// access: amc.FCtype.c_msgtype (Ptr)
13300struct FMsgtype { // amc.FMsgtype
13301    algo::Smallstr100   ctype;     //
13302    algo::CppExpr       type;      //
13303    amc::FCtype*        p_ctype;   // reference to parent row
13304private:
13305    friend amc::FMsgtype&       msgtype_Alloc() __attribute__((__warn_unused_result__, nothrow));
13306    friend amc::FMsgtype*       msgtype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13307    friend void                 msgtype_RemoveLast() __attribute__((nothrow));
13308    FMsgtype();
13309    ~FMsgtype();
13310    FMsgtype(const FMsgtype&){ /*disallow copy constructor */}
13311    void operator =(const FMsgtype&){ /*disallow direct assignment */}
13312};
13313
13314// Copy fields out of row
13315// func:amc.FMsgtype.msghdr.CopyOut
13316void                 msgtype_CopyOut(amc::FMsgtype &row, dmmeta::Msgtype &out) __attribute__((nothrow));
13317// Copy fields in to row
13318// func:amc.FMsgtype.msghdr.CopyIn
13319void                 msgtype_CopyIn(amc::FMsgtype &row, dmmeta::Msgtype &in) __attribute__((nothrow));
13320
13321// Set all fields to initial values.
13322// func:amc.FMsgtype..Init
13323void                 FMsgtype_Init(amc::FMsgtype& msgtype);
13324// func:amc.FMsgtype..Uninit
13325void                 FMsgtype_Uninit(amc::FMsgtype& msgtype) __attribute__((nothrow));
13326
13327// --- amc.FNocascdel
13328// create: amc.FDb.nocascdel (Lary)
13329// access: amc.FXref.c_nocascdel (Ptr)
13330struct FNocascdel { // amc.FNocascdel
13331    algo::Smallstr100   xref;   //
13332private:
13333    friend amc::FNocascdel&     nocascdel_Alloc() __attribute__((__warn_unused_result__, nothrow));
13334    friend amc::FNocascdel*     nocascdel_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13335    friend void                 nocascdel_RemoveLast() __attribute__((nothrow));
13336    FNocascdel();
13337    ~FNocascdel();
13338    FNocascdel(const FNocascdel&){ /*disallow copy constructor */}
13339    void operator =(const FNocascdel&){ /*disallow direct assignment */}
13340};
13341
13342// Copy fields out of row
13343// func:amc.FNocascdel.msghdr.CopyOut
13344void                 nocascdel_CopyOut(amc::FNocascdel &row, dmmeta::Nocascdel &out) __attribute__((nothrow));
13345// Copy fields in to row
13346// func:amc.FNocascdel.msghdr.CopyIn
13347void                 nocascdel_CopyIn(amc::FNocascdel &row, dmmeta::Nocascdel &in) __attribute__((nothrow));
13348
13349// func:amc.FNocascdel..Uninit
13350void                 FNocascdel_Uninit(amc::FNocascdel& nocascdel) __attribute__((nothrow));
13351
13352// --- amc.FNossimfile
13353// create: amc.FDb.nossimfile (Lary)
13354// access: amc.FCtype.c_nossimfile (Ptr)
13355struct FNossimfile { // amc.FNossimfile
13356    algo::Smallstr100   ctype;     //
13357    algo::Comment       comment;   //
13358private:
13359    friend amc::FNossimfile&    nossimfile_Alloc() __attribute__((__warn_unused_result__, nothrow));
13360    friend amc::FNossimfile*    nossimfile_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13361    friend void                 nossimfile_RemoveAll() __attribute__((nothrow));
13362    friend void                 nossimfile_RemoveLast() __attribute__((nothrow));
13363    FNossimfile();
13364    ~FNossimfile();
13365    FNossimfile(const FNossimfile&){ /*disallow copy constructor */}
13366    void operator =(const FNossimfile&){ /*disallow direct assignment */}
13367};
13368
13369// Copy fields out of row
13370// func:amc.FNossimfile.base.CopyOut
13371void                 nossimfile_CopyOut(amc::FNossimfile &row, dmmeta::Nossimfile &out) __attribute__((nothrow));
13372// Copy fields in to row
13373// func:amc.FNossimfile.base.CopyIn
13374void                 nossimfile_CopyIn(amc::FNossimfile &row, dmmeta::Nossimfile &in) __attribute__((nothrow));
13375
13376// func:amc.FNossimfile..Uninit
13377void                 FNossimfile_Uninit(amc::FNossimfile& nossimfile) __attribute__((nothrow));
13378
13379// --- amc.FNoxref
13380// create: amc.FDb.noxref (Lary)
13381// access: amc.FField.c_noxref (Ptr)
13382struct FNoxref { // amc.FNoxref
13383    algo::Smallstr100   field;   //
13384private:
13385    friend amc::FNoxref&        noxref_Alloc() __attribute__((__warn_unused_result__, nothrow));
13386    friend amc::FNoxref*        noxref_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13387    friend void                 noxref_RemoveLast() __attribute__((nothrow));
13388    FNoxref();
13389    ~FNoxref();
13390    FNoxref(const FNoxref&){ /*disallow copy constructor */}
13391    void operator =(const FNoxref&){ /*disallow direct assignment */}
13392};
13393
13394// Copy fields out of row
13395// func:amc.FNoxref.msghdr.CopyOut
13396void                 noxref_CopyOut(amc::FNoxref &row, dmmeta::Noxref &out) __attribute__((nothrow));
13397// Copy fields in to row
13398// func:amc.FNoxref.msghdr.CopyIn
13399void                 noxref_CopyIn(amc::FNoxref &row, dmmeta::Noxref &in) __attribute__((nothrow));
13400
13401// func:amc.FNoxref..Uninit
13402void                 FNoxref_Uninit(amc::FNoxref& noxref) __attribute__((nothrow));
13403
13404// --- amc.FNs
13405// create: amc.FDb.ns (Lary)
13406// global access: ind_ns (Thash)
13407// global access: c_ns_sorted (Ptrary)
13408// global access: c_curns (Ptr)
13409// global access: c_ns (Ptr)
13410// access: amc.FCtype.p_ns (Upptr)
13411// access: amc.FDispatch.p_ns (Upptr)
13412// access: amc.FFcmdline.p_ns (Upptr)
13413// access: amc.FFunc.p_ns (Upptr)
13414// access: amc.FNs.c_parentns (Ptrary)
13415// access: amc.FNs.c_cppincl (Ptrary)
13416// access: amc.FNs.c_hdrincl (Ptrary)
13417// access: amc.FOutfile.p_ns (Upptr)
13418// access: amc.FPnew.p_ns (Upptr)
13419// access: amc.FTarget.p_ns (Upptr)
13420// access: amc.Genctx.p_ns (Upptr)
13421struct FNs { // amc.FNs
13422    amc::FNs*           ind_ns_next;         // hash next
13423    algo::Smallstr16    ns;                  // Namespace name (primary key)
13424    algo::Smallstr50    nstype;              // Namespace type
13425    algo::Smallstr50    license;             // Associated license
13426    algo::Comment       comment;             //
13427    i32                 nhash;               //   0  number of hash functions generated (hack)
13428    algo::cstring       curstext;            //
13429    amc::FCtype**       c_ctype_elems;       // array of pointers
13430    u32                 c_ctype_n;           // array of pointers
13431    u32                 c_ctype_max;         // capacity of allocated array
13432    amc::FFunc**        c_func_elems;        // array of pointers
13433    u32                 c_func_n;            // array of pointers
13434    u32                 c_func_max;          // capacity of allocated array
13435    amc::FDispatch**    c_dispatch_elems;    // array of pointers
13436    u32                 c_dispatch_n;        // array of pointers
13437    u32                 c_dispatch_max;      // capacity of allocated array
13438    amc::FField*        c_globfld;           // optional pointer
13439    amc::FGstatic**     c_gstatic_elems;     // array of pointers
13440    u32                 c_gstatic_n;         // array of pointers
13441    u32                 c_gstatic_max;       // capacity of allocated array
13442    amc::FMain*         c_main;              // optional pointer
13443    algo::cstring*      hdr;                 // Temporary hack -- pointer to hdr contents. optional pointer
13444    algo::cstring*      inl;                 // optional pointer
13445    algo::cstring*      cpp;                 // optional pointer
13446    algo::cstring*      include_elems;       // pointer to elements
13447    u32                 include_n;           // number of elements in array
13448    u32                 include_max;         // max. capacity of array before realloc
13449    algo::Sha1sig       signature;           //
13450    algo::Sha1sig       signature_input;     //
13451    amc::FDispsig**     c_dispsig_elems;     // array of pointers
13452    u32                 c_dispsig_n;         // array of pointers
13453    u32                 c_dispsig_max;       // capacity of allocated array
13454    amc::FNs**          c_parentns_elems;    // array of pointers
13455    u32                 c_parentns_n;        // array of pointers
13456    u32                 c_parentns_max;      // capacity of allocated array
13457    amc::FNs**          c_cppincl_elems;     // array of pointers
13458    u32                 c_cppincl_n;         // array of pointers
13459    u32                 c_cppincl_max;       // capacity of allocated array
13460    amc::FNs**          c_hdrincl_elems;     // array of pointers
13461    u32                 c_hdrincl_n;         // array of pointers
13462    u32                 c_hdrincl_max;       // capacity of allocated array
13463    amc::FFwddecl**     c_fwddecl_elems;     // array of pointers
13464    u32                 c_fwddecl_n;         // array of pointers
13465    u32                 c_fwddecl_max;       // capacity of allocated array
13466    bool                select;              //   false
13467    amc::FNsx*          c_nsx;               // optional pointer
13468    amc::FTarget*       c_target;            // optional pointer
13469    amc::FPnew**        c_pnew_elems;        // array of pointers
13470    u32                 c_pnew_n;            // array of pointers
13471    u32                 c_pnew_max;          // capacity of allocated array
13472    amc::FFcmdline*     c_fcmdline;          // optional pointer
13473    amc::FNsproto*      c_nsproto;           // optional pointer
13474    amc::FNsdb*         c_nsdb;              // optional pointer
13475    amc::FOutfile**     c_outfile_elems;     // array of pointers
13476    u32                 c_outfile_n;         // array of pointers
13477    u32                 c_outfile_max;       // capacity of allocated array
13478    amc::FFoutput**     c_foutput_elems;     // array of pointers
13479    u32                 c_foutput_n;         // array of pointers
13480    u32                 c_foutput_max;       // capacity of allocated array
13481    amc::FFstep**       c_fstep_elems;       // array of pointers
13482    u32                 c_fstep_n;           // array of pointers
13483    u32                 c_fstep_max;         // capacity of allocated array
13484    amc::FGsymbol**     c_gsymbol_elems;     // array of pointers
13485    u32                 c_gsymbol_n;         // array of pointers
13486    u32                 c_gsymbol_max;       // capacity of allocated array
13487    amc::FNsinclude**   c_nsinclude_elems;   // array of pointers
13488    u32                 c_nsinclude_n;       // array of pointers
13489    u32                 c_nsinclude_max;     // capacity of allocated array
13490    amc::FNscpp*        c_nscpp;             // optional pointer
13491    amc::FLicense*      p_license;           // reference to parent row
13492private:
13493    friend amc::FNs&            ns_Alloc() __attribute__((__warn_unused_result__, nothrow));
13494    friend amc::FNs*            ns_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
13495    friend void                 ns_RemoveLast() __attribute__((nothrow));
13496    FNs();
13497    ~FNs();
13498    FNs(const FNs&){ /*disallow copy constructor */}
13499    void operator =(const FNs&){ /*disallow direct assignment */}
13500};
13501
13502// Copy fields out of row
13503// func:amc.FNs.msghdr.CopyOut
13504void                 ns_CopyOut(amc::FNs &row, dmmeta::Ns &out) __attribute__((nothrow));
13505// Copy fields in to row
13506// func:amc.FNs.msghdr.CopyIn
13507void                 ns_CopyIn(amc::FNs &row, dmmeta::Ns &in) __attribute__((nothrow));
13508
13509// Return true if index is empty
13510// func:amc.FNs.c_ctype.EmptyQ
13511bool                 c_ctype_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13512// Look up row by row id. Return NULL if out of range
13513// func:amc.FNs.c_ctype.Find
13514amc::FCtype*         c_ctype_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13515// Return array of pointers
13516// func:amc.FNs.c_ctype.Getary
13517algo::aryptr<amc::FCtype*> c_ctype_Getary(amc::FNs& ns) __attribute__((nothrow));
13518// Insert pointer to row into array. Row must not already be in array.
13519// If pointer is already in the array, it may be inserted twice.
13520// func:amc.FNs.c_ctype.Insert
13521void                 c_ctype_Insert(amc::FNs& ns, amc::FCtype& row) __attribute__((nothrow));
13522// Insert pointer to row in array.
13523// If row is already in the array, do nothing.
13524// Return value: whether element was inserted into array.
13525// func:amc.FNs.c_ctype.InsertMaybe
13526bool                 c_ctype_InsertMaybe(amc::FNs& ns, amc::FCtype& row) __attribute__((nothrow));
13527// Return number of items in the pointer array
13528// func:amc.FNs.c_ctype.N
13529i32                  c_ctype_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13530// Find element using linear scan. If element is in array, remove, otherwise do nothing
13531// func:amc.FNs.c_ctype.Remove
13532void                 c_ctype_Remove(amc::FNs& ns, amc::FCtype& row) __attribute__((nothrow));
13533// Empty the index. (The rows are not deleted)
13534// func:amc.FNs.c_ctype.RemoveAll
13535void                 c_ctype_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13536// Reserve space in index for N more elements;
13537// func:amc.FNs.c_ctype.Reserve
13538void                 c_ctype_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13539// Return reference without bounds checking
13540// func:amc.FNs.c_ctype.qFind
13541amc::FCtype&         c_ctype_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13542// True if row is in any ptrary instance
13543// func:amc.FNs.c_ctype.InAryQ
13544bool                 ns_c_ctype_InAryQ(amc::FCtype& row) __attribute__((nothrow));
13545// Reference to last element without bounds checking
13546// func:amc.FNs.c_ctype.qLast
13547amc::FCtype&         c_ctype_qLast(amc::FNs& ns) __attribute__((nothrow));
13548
13549// Return true if index is empty
13550// func:amc.FNs.c_func.EmptyQ
13551bool                 c_func_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13552// Look up row by row id. Return NULL if out of range
13553// func:amc.FNs.c_func.Find
13554amc::FFunc*          c_func_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13555// Return array of pointers
13556// func:amc.FNs.c_func.Getary
13557algo::aryptr<amc::FFunc*> c_func_Getary(amc::FNs& ns) __attribute__((nothrow));
13558// Insert pointer to row into array. Row must not already be in array.
13559// If pointer is already in the array, it may be inserted twice.
13560// func:amc.FNs.c_func.Insert
13561void                 c_func_Insert(amc::FNs& ns, amc::FFunc& row) __attribute__((nothrow));
13562// Insert pointer to row in array.
13563// If row is already in the array, do nothing.
13564// Return value: whether element was inserted into array.
13565// func:amc.FNs.c_func.InsertMaybe
13566bool                 c_func_InsertMaybe(amc::FNs& ns, amc::FFunc& row) __attribute__((nothrow));
13567// Return number of items in the pointer array
13568// func:amc.FNs.c_func.N
13569i32                  c_func_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13570// Find element using linear scan. If element is in array, remove, otherwise do nothing
13571// func:amc.FNs.c_func.Remove
13572void                 c_func_Remove(amc::FNs& ns, amc::FFunc& row) __attribute__((nothrow));
13573// Empty the index. (The rows are not deleted)
13574// func:amc.FNs.c_func.RemoveAll
13575void                 c_func_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13576// Reserve space in index for N more elements;
13577// func:amc.FNs.c_func.Reserve
13578void                 c_func_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13579// Return reference without bounds checking
13580// func:amc.FNs.c_func.qFind
13581amc::FFunc&          c_func_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13582// True if row is in any ptrary instance
13583// func:amc.FNs.c_func.InAryQ
13584bool                 ns_c_func_InAryQ(amc::FFunc& row) __attribute__((nothrow));
13585// Reference to last element without bounds checking
13586// func:amc.FNs.c_func.qLast
13587amc::FFunc&          c_func_qLast(amc::FNs& ns) __attribute__((nothrow));
13588
13589// Return true if index is empty
13590// func:amc.FNs.c_dispatch.EmptyQ
13591bool                 c_dispatch_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13592// Look up row by row id. Return NULL if out of range
13593// func:amc.FNs.c_dispatch.Find
13594amc::FDispatch*      c_dispatch_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13595// Return array of pointers
13596// func:amc.FNs.c_dispatch.Getary
13597algo::aryptr<amc::FDispatch*> c_dispatch_Getary(amc::FNs& ns) __attribute__((nothrow));
13598// Insert pointer to row into array. Row must not already be in array.
13599// If pointer is already in the array, it may be inserted twice.
13600// func:amc.FNs.c_dispatch.Insert
13601void                 c_dispatch_Insert(amc::FNs& ns, amc::FDispatch& row) __attribute__((nothrow));
13602// Insert pointer to row in array.
13603// If row is already in the array, do nothing.
13604// Return value: whether element was inserted into array.
13605// func:amc.FNs.c_dispatch.InsertMaybe
13606bool                 c_dispatch_InsertMaybe(amc::FNs& ns, amc::FDispatch& row) __attribute__((nothrow));
13607// Return number of items in the pointer array
13608// func:amc.FNs.c_dispatch.N
13609i32                  c_dispatch_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13610// Find element using linear scan. If element is in array, remove, otherwise do nothing
13611// func:amc.FNs.c_dispatch.Remove
13612void                 c_dispatch_Remove(amc::FNs& ns, amc::FDispatch& row) __attribute__((nothrow));
13613// Empty the index. (The rows are not deleted)
13614// func:amc.FNs.c_dispatch.RemoveAll
13615void                 c_dispatch_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13616// Reserve space in index for N more elements;
13617// func:amc.FNs.c_dispatch.Reserve
13618void                 c_dispatch_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13619// Return reference without bounds checking
13620// func:amc.FNs.c_dispatch.qFind
13621amc::FDispatch&      c_dispatch_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13622// True if row is in any ptrary instance
13623// func:amc.FNs.c_dispatch.InAryQ
13624bool                 ns_c_dispatch_InAryQ(amc::FDispatch& row) __attribute__((nothrow));
13625// Reference to last element without bounds checking
13626// func:amc.FNs.c_dispatch.qLast
13627amc::FDispatch&      c_dispatch_qLast(amc::FNs& ns) __attribute__((nothrow));
13628
13629// Insert row into pointer index. Return final membership status.
13630// func:amc.FNs.c_globfld.InsertMaybe
13631bool                 c_globfld_InsertMaybe(amc::FNs& ns, amc::FField& row) __attribute__((nothrow));
13632// Remove element from index. If element is not in index, do nothing.
13633// func:amc.FNs.c_globfld.Remove
13634void                 c_globfld_Remove(amc::FNs& ns, amc::FField& row) __attribute__((nothrow));
13635
13636// Return true if index is empty
13637// func:amc.FNs.c_gstatic.EmptyQ
13638bool                 c_gstatic_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13639// Look up row by row id. Return NULL if out of range
13640// func:amc.FNs.c_gstatic.Find
13641amc::FGstatic*       c_gstatic_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13642// Return array of pointers
13643// func:amc.FNs.c_gstatic.Getary
13644algo::aryptr<amc::FGstatic*> c_gstatic_Getary(amc::FNs& ns) __attribute__((nothrow));
13645// Insert pointer to row into array. Row must not already be in array.
13646// If pointer is already in the array, it may be inserted twice.
13647// func:amc.FNs.c_gstatic.Insert
13648void                 c_gstatic_Insert(amc::FNs& ns, amc::FGstatic& row) __attribute__((nothrow));
13649// Insert pointer to row in array.
13650// If row is already in the array, do nothing.
13651// Return value: whether element was inserted into array.
13652// func:amc.FNs.c_gstatic.InsertMaybe
13653bool                 c_gstatic_InsertMaybe(amc::FNs& ns, amc::FGstatic& row) __attribute__((nothrow));
13654// Return number of items in the pointer array
13655// func:amc.FNs.c_gstatic.N
13656i32                  c_gstatic_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13657// Find element using linear scan. If element is in array, remove, otherwise do nothing
13658// func:amc.FNs.c_gstatic.Remove
13659void                 c_gstatic_Remove(amc::FNs& ns, amc::FGstatic& row) __attribute__((nothrow));
13660// Empty the index. (The rows are not deleted)
13661// func:amc.FNs.c_gstatic.RemoveAll
13662void                 c_gstatic_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13663// Reserve space in index for N more elements;
13664// func:amc.FNs.c_gstatic.Reserve
13665void                 c_gstatic_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13666// Return reference without bounds checking
13667// func:amc.FNs.c_gstatic.qFind
13668amc::FGstatic&       c_gstatic_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13669// True if row is in any ptrary instance
13670// func:amc.FNs.c_gstatic.InAryQ
13671bool                 ns_c_gstatic_InAryQ(amc::FGstatic& row) __attribute__((nothrow));
13672// Reference to last element without bounds checking
13673// func:amc.FNs.c_gstatic.qLast
13674amc::FGstatic&       c_gstatic_qLast(amc::FNs& ns) __attribute__((nothrow));
13675
13676// Insert row into pointer index. Return final membership status.
13677// func:amc.FNs.c_main.InsertMaybe
13678bool                 c_main_InsertMaybe(amc::FNs& ns, amc::FMain& row) __attribute__((nothrow));
13679// Remove element from index. If element is not in index, do nothing.
13680// func:amc.FNs.c_main.Remove
13681void                 c_main_Remove(amc::FNs& ns, amc::FMain& row) __attribute__((nothrow));
13682
13683// Reserve space (this may move memory). Insert N element at the end.
13684// Return aryptr to newly inserted block.
13685// If the RHS argument aliases the array (refers to the same memory), exit program with fatal error.
13686// func:amc.FNs.include.Addary
13687algo::aryptr<algo::cstring> include_Addary(amc::FNs& ns, algo::aryptr<algo::cstring> rhs) __attribute__((nothrow));
13688// Reserve space. Insert element at the end
13689// The new element is initialized to a default value
13690// func:amc.FNs.include.Alloc
13691algo::cstring&       include_Alloc(amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow));
13692// Reserve space for new element, reallocating the array if necessary
13693// Insert new element at specified index. Index must be in range or a fatal error occurs.
13694// func:amc.FNs.include.AllocAt
13695algo::cstring&       include_AllocAt(amc::FNs& ns, int at) __attribute__((__warn_unused_result__, nothrow));
13696// Reserve space. Insert N elements at the end of the array, return pointer to array
13697// func:amc.FNs.include.AllocN
13698algo::aryptr<algo::cstring> include_AllocN(amc::FNs& ns, int n_elems) __attribute__((__warn_unused_result__, nothrow));
13699// Return true if index is empty
13700// func:amc.FNs.include.EmptyQ
13701bool                 include_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13702// Look up row by row id. Return NULL if out of range
13703// func:amc.FNs.include.Find
13704algo::cstring*       include_Find(amc::FNs& ns, u64 t) __attribute__((__warn_unused_result__, nothrow));
13705// Return array pointer by value
13706// func:amc.FNs.include.Getary
13707algo::aryptr<algo::cstring> include_Getary(const amc::FNs& ns) __attribute__((nothrow));
13708// Return pointer to last element of array, or NULL if array is empty
13709// func:amc.FNs.include.Last
13710algo::cstring*       include_Last(amc::FNs& ns) __attribute__((nothrow, pure));
13711// Return max. number of items in the array
13712// func:amc.FNs.include.Max
13713i32                  include_Max(amc::FNs& ns) __attribute__((nothrow));
13714// Return number of items in the array
13715// func:amc.FNs.include.N
13716i32                  include_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13717// Remove item by index. If index outside of range, do nothing.
13718// func:amc.FNs.include.Remove
13719void                 include_Remove(amc::FNs& ns, u32 i) __attribute__((nothrow));
13720// func:amc.FNs.include.RemoveAll
13721void                 include_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13722// Delete last element of array. Do nothing if array is empty.
13723// func:amc.FNs.include.RemoveLast
13724void                 include_RemoveLast(amc::FNs& ns) __attribute__((nothrow));
13725// Make sure N *more* elements will fit in array. Process dies if out of memory
13726// func:amc.FNs.include.Reserve
13727void                 include_Reserve(amc::FNs& ns, int n) __attribute__((nothrow));
13728// Make sure N elements fit in array. Process dies if out of memory
13729// func:amc.FNs.include.AbsReserve
13730void                 include_AbsReserve(amc::FNs& ns, int n) __attribute__((nothrow));
13731// Copy contents of RHS to PARENT.
13732// func:amc.FNs.include.Setary
13733void                 include_Setary(amc::FNs& ns, amc::FNs &rhs) __attribute__((nothrow));
13734// Copy specified array into include, discarding previous contents.
13735// If the RHS argument aliases the array (refers to the same memory), throw exception.
13736// func:amc.FNs.include.Setary2
13737void                 include_Setary(amc::FNs& ns, const algo::aryptr<algo::cstring> &rhs) __attribute__((nothrow));
13738// 'quick' Access row by row id. No bounds checking.
13739// func:amc.FNs.include.qFind
13740algo::cstring&       include_qFind(amc::FNs& ns, u64 t) __attribute__((nothrow));
13741// Return reference to last element of array. No bounds checking
13742// func:amc.FNs.include.qLast
13743algo::cstring&       include_qLast(amc::FNs& ns) __attribute__((nothrow));
13744// Return row id of specified element
13745// func:amc.FNs.include.rowid_Get
13746u64                  include_rowid_Get(amc::FNs& ns, algo::cstring &elem) __attribute__((nothrow));
13747// Reserve space. Insert N elements at the end of the array, return pointer to array
13748// func:amc.FNs.include.AllocNVal
13749algo::aryptr<algo::cstring> include_AllocNVal(amc::FNs& ns, int n_elems, const algo::cstring& val) __attribute__((nothrow));
13750// A single element is read from input string and appended to the array.
13751// If the string contains an error, the array is untouched.
13752// Function returns success value.
13753// func:amc.FNs.include.ReadStrptrMaybe
13754bool                 include_ReadStrptrMaybe(amc::FNs& ns, algo::strptr in_str) __attribute__((nothrow));
13755
13756// Return true if index is empty
13757// func:amc.FNs.c_dispsig.EmptyQ
13758bool                 c_dispsig_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13759// Look up row by row id. Return NULL if out of range
13760// func:amc.FNs.c_dispsig.Find
13761amc::FDispsig*       c_dispsig_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13762// Return array of pointers
13763// func:amc.FNs.c_dispsig.Getary
13764algo::aryptr<amc::FDispsig*> c_dispsig_Getary(amc::FNs& ns) __attribute__((nothrow));
13765// Insert pointer to row into array. Row must not already be in array.
13766// If pointer is already in the array, it may be inserted twice.
13767// func:amc.FNs.c_dispsig.Insert
13768void                 c_dispsig_Insert(amc::FNs& ns, amc::FDispsig& row) __attribute__((nothrow));
13769// Insert pointer to row in array.
13770// If row is already in the array, do nothing.
13771// Return value: whether element was inserted into array.
13772// func:amc.FNs.c_dispsig.InsertMaybe
13773bool                 c_dispsig_InsertMaybe(amc::FNs& ns, amc::FDispsig& row) __attribute__((nothrow));
13774// Return number of items in the pointer array
13775// func:amc.FNs.c_dispsig.N
13776i32                  c_dispsig_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13777// Find element using linear scan. If element is in array, remove, otherwise do nothing
13778// func:amc.FNs.c_dispsig.Remove
13779void                 c_dispsig_Remove(amc::FNs& ns, amc::FDispsig& row) __attribute__((nothrow));
13780// Empty the index. (The rows are not deleted)
13781// func:amc.FNs.c_dispsig.RemoveAll
13782void                 c_dispsig_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13783// Reserve space in index for N more elements;
13784// func:amc.FNs.c_dispsig.Reserve
13785void                 c_dispsig_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13786// Return reference without bounds checking
13787// func:amc.FNs.c_dispsig.qFind
13788amc::FDispsig&       c_dispsig_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13789// True if row is in any ptrary instance
13790// func:amc.FNs.c_dispsig.InAryQ
13791bool                 ns_c_dispsig_InAryQ(amc::FDispsig& row) __attribute__((nothrow));
13792// Reference to last element without bounds checking
13793// func:amc.FNs.c_dispsig.qLast
13794amc::FDispsig&       c_dispsig_qLast(amc::FNs& ns) __attribute__((nothrow));
13795
13796// Return true if index is empty
13797// func:amc.FNs.c_parentns.EmptyQ
13798bool                 c_parentns_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13799// Look up row by row id. Return NULL if out of range
13800// func:amc.FNs.c_parentns.Find
13801amc::FNs*            c_parentns_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13802// Return array of pointers
13803// func:amc.FNs.c_parentns.Getary
13804algo::aryptr<amc::FNs*> c_parentns_Getary(amc::FNs& ns) __attribute__((nothrow));
13805// Insert pointer to row into array. Row must not already be in array.
13806// If pointer is already in the array, it may be inserted twice.
13807// func:amc.FNs.c_parentns.Insert
13808void                 c_parentns_Insert(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13809// Insert pointer to row in array.
13810// If row is already in the array, do nothing.
13811// Linear search is used to locate the element.
13812// Return value: whether element was inserted into array.
13813// func:amc.FNs.c_parentns.ScanInsertMaybe
13814bool                 c_parentns_ScanInsertMaybe(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13815// Return number of items in the pointer array
13816// func:amc.FNs.c_parentns.N
13817i32                  c_parentns_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13818// Find element using linear scan. If element is in array, remove, otherwise do nothing
13819// func:amc.FNs.c_parentns.Remove
13820void                 c_parentns_Remove(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13821// Empty the index. (The rows are not deleted)
13822// func:amc.FNs.c_parentns.RemoveAll
13823void                 c_parentns_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13824// Reserve space in index for N more elements;
13825// func:amc.FNs.c_parentns.Reserve
13826void                 c_parentns_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13827// Return reference without bounds checking
13828// func:amc.FNs.c_parentns.qFind
13829amc::FNs&            c_parentns_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13830// Reference to last element without bounds checking
13831// func:amc.FNs.c_parentns.qLast
13832amc::FNs&            c_parentns_qLast(amc::FNs& ns) __attribute__((nothrow));
13833
13834// Return true if index is empty
13835// func:amc.FNs.c_cppincl.EmptyQ
13836bool                 c_cppincl_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13837// Look up row by row id. Return NULL if out of range
13838// func:amc.FNs.c_cppincl.Find
13839amc::FNs*            c_cppincl_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13840// Return array of pointers
13841// func:amc.FNs.c_cppincl.Getary
13842algo::aryptr<amc::FNs*> c_cppincl_Getary(amc::FNs& ns) __attribute__((nothrow));
13843// Insert pointer to row into array. Row must not already be in array.
13844// If pointer is already in the array, it may be inserted twice.
13845// func:amc.FNs.c_cppincl.Insert
13846void                 c_cppincl_Insert(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13847// Insert pointer to row in array.
13848// If row is already in the array, do nothing.
13849// Linear search is used to locate the element.
13850// Return value: whether element was inserted into array.
13851// func:amc.FNs.c_cppincl.ScanInsertMaybe
13852bool                 c_cppincl_ScanInsertMaybe(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13853// Return number of items in the pointer array
13854// func:amc.FNs.c_cppincl.N
13855i32                  c_cppincl_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13856// Find element using linear scan. If element is in array, remove, otherwise do nothing
13857// func:amc.FNs.c_cppincl.Remove
13858void                 c_cppincl_Remove(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13859// Empty the index. (The rows are not deleted)
13860// func:amc.FNs.c_cppincl.RemoveAll
13861void                 c_cppincl_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13862// Reserve space in index for N more elements;
13863// func:amc.FNs.c_cppincl.Reserve
13864void                 c_cppincl_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13865// Return reference without bounds checking
13866// func:amc.FNs.c_cppincl.qFind
13867amc::FNs&            c_cppincl_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13868// Reference to last element without bounds checking
13869// func:amc.FNs.c_cppincl.qLast
13870amc::FNs&            c_cppincl_qLast(amc::FNs& ns) __attribute__((nothrow));
13871
13872// Return true if index is empty
13873// func:amc.FNs.c_hdrincl.EmptyQ
13874bool                 c_hdrincl_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13875// Look up row by row id. Return NULL if out of range
13876// func:amc.FNs.c_hdrincl.Find
13877amc::FNs*            c_hdrincl_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13878// Return array of pointers
13879// func:amc.FNs.c_hdrincl.Getary
13880algo::aryptr<amc::FNs*> c_hdrincl_Getary(amc::FNs& ns) __attribute__((nothrow));
13881// Insert pointer to row into array. Row must not already be in array.
13882// If pointer is already in the array, it may be inserted twice.
13883// func:amc.FNs.c_hdrincl.Insert
13884void                 c_hdrincl_Insert(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13885// Insert pointer to row in array.
13886// If row is already in the array, do nothing.
13887// Linear search is used to locate the element.
13888// Return value: whether element was inserted into array.
13889// func:amc.FNs.c_hdrincl.ScanInsertMaybe
13890bool                 c_hdrincl_ScanInsertMaybe(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13891// Return number of items in the pointer array
13892// func:amc.FNs.c_hdrincl.N
13893i32                  c_hdrincl_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13894// Find element using linear scan. If element is in array, remove, otherwise do nothing
13895// func:amc.FNs.c_hdrincl.Remove
13896void                 c_hdrincl_Remove(amc::FNs& ns, amc::FNs& row) __attribute__((nothrow));
13897// Empty the index. (The rows are not deleted)
13898// func:amc.FNs.c_hdrincl.RemoveAll
13899void                 c_hdrincl_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13900// Reserve space in index for N more elements;
13901// func:amc.FNs.c_hdrincl.Reserve
13902void                 c_hdrincl_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13903// Return reference without bounds checking
13904// func:amc.FNs.c_hdrincl.qFind
13905amc::FNs&            c_hdrincl_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13906// Reference to last element without bounds checking
13907// func:amc.FNs.c_hdrincl.qLast
13908amc::FNs&            c_hdrincl_qLast(amc::FNs& ns) __attribute__((nothrow));
13909
13910// Return true if index is empty
13911// func:amc.FNs.c_fwddecl.EmptyQ
13912bool                 c_fwddecl_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13913// Look up row by row id. Return NULL if out of range
13914// func:amc.FNs.c_fwddecl.Find
13915amc::FFwddecl*       c_fwddecl_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13916// Return array of pointers
13917// func:amc.FNs.c_fwddecl.Getary
13918algo::aryptr<amc::FFwddecl*> c_fwddecl_Getary(amc::FNs& ns) __attribute__((nothrow));
13919// Insert pointer to row into array. Row must not already be in array.
13920// If pointer is already in the array, it may be inserted twice.
13921// func:amc.FNs.c_fwddecl.Insert
13922void                 c_fwddecl_Insert(amc::FNs& ns, amc::FFwddecl& row) __attribute__((nothrow));
13923// Insert pointer to row in array.
13924// If row is already in the array, do nothing.
13925// Return value: whether element was inserted into array.
13926// func:amc.FNs.c_fwddecl.InsertMaybe
13927bool                 c_fwddecl_InsertMaybe(amc::FNs& ns, amc::FFwddecl& row) __attribute__((nothrow));
13928// Return number of items in the pointer array
13929// func:amc.FNs.c_fwddecl.N
13930i32                  c_fwddecl_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13931// Find element using linear scan. If element is in array, remove, otherwise do nothing
13932// func:amc.FNs.c_fwddecl.Remove
13933void                 c_fwddecl_Remove(amc::FNs& ns, amc::FFwddecl& row) __attribute__((nothrow));
13934// Empty the index. (The rows are not deleted)
13935// func:amc.FNs.c_fwddecl.RemoveAll
13936void                 c_fwddecl_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13937// Reserve space in index for N more elements;
13938// func:amc.FNs.c_fwddecl.Reserve
13939void                 c_fwddecl_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13940// Return reference without bounds checking
13941// func:amc.FNs.c_fwddecl.qFind
13942amc::FFwddecl&       c_fwddecl_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13943// True if row is in any ptrary instance
13944// func:amc.FNs.c_fwddecl.InAryQ
13945bool                 ns_c_fwddecl_InAryQ(amc::FFwddecl& row) __attribute__((nothrow));
13946// Reference to last element without bounds checking
13947// func:amc.FNs.c_fwddecl.qLast
13948amc::FFwddecl&       c_fwddecl_qLast(amc::FNs& ns) __attribute__((nothrow));
13949
13950// Insert row into pointer index. Return final membership status.
13951// func:amc.FNs.c_nsx.InsertMaybe
13952bool                 c_nsx_InsertMaybe(amc::FNs& ns, amc::FNsx& row) __attribute__((nothrow));
13953// Remove element from index. If element is not in index, do nothing.
13954// func:amc.FNs.c_nsx.Remove
13955void                 c_nsx_Remove(amc::FNs& ns, amc::FNsx& row) __attribute__((nothrow));
13956
13957// Insert row into pointer index. Return final membership status.
13958// func:amc.FNs.c_target.InsertMaybe
13959bool                 c_target_InsertMaybe(amc::FNs& ns, amc::FTarget& row) __attribute__((nothrow));
13960// Remove element from index. If element is not in index, do nothing.
13961// func:amc.FNs.c_target.Remove
13962void                 c_target_Remove(amc::FNs& ns, amc::FTarget& row) __attribute__((nothrow));
13963
13964// Return true if index is empty
13965// func:amc.FNs.c_pnew.EmptyQ
13966bool                 c_pnew_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
13967// Look up row by row id. Return NULL if out of range
13968// func:amc.FNs.c_pnew.Find
13969amc::FPnew*          c_pnew_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
13970// Return array of pointers
13971// func:amc.FNs.c_pnew.Getary
13972algo::aryptr<amc::FPnew*> c_pnew_Getary(amc::FNs& ns) __attribute__((nothrow));
13973// Insert pointer to row into array. Row must not already be in array.
13974// If pointer is already in the array, it may be inserted twice.
13975// func:amc.FNs.c_pnew.Insert
13976void                 c_pnew_Insert(amc::FNs& ns, amc::FPnew& row) __attribute__((nothrow));
13977// Insert pointer to row in array.
13978// If row is already in the array, do nothing.
13979// Return value: whether element was inserted into array.
13980// func:amc.FNs.c_pnew.InsertMaybe
13981bool                 c_pnew_InsertMaybe(amc::FNs& ns, amc::FPnew& row) __attribute__((nothrow));
13982// Return number of items in the pointer array
13983// func:amc.FNs.c_pnew.N
13984i32                  c_pnew_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
13985// Find element using linear scan. If element is in array, remove, otherwise do nothing
13986// func:amc.FNs.c_pnew.Remove
13987void                 c_pnew_Remove(amc::FNs& ns, amc::FPnew& row) __attribute__((nothrow));
13988// Empty the index. (The rows are not deleted)
13989// func:amc.FNs.c_pnew.RemoveAll
13990void                 c_pnew_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
13991// Reserve space in index for N more elements;
13992// func:amc.FNs.c_pnew.Reserve
13993void                 c_pnew_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
13994// Return reference without bounds checking
13995// func:amc.FNs.c_pnew.qFind
13996amc::FPnew&          c_pnew_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
13997// True if row is in any ptrary instance
13998// func:amc.FNs.c_pnew.InAryQ
13999bool                 ns_c_pnew_InAryQ(amc::FPnew& row) __attribute__((nothrow));
14000// Reference to last element without bounds checking
14001// func:amc.FNs.c_pnew.qLast
14002amc::FPnew&          c_pnew_qLast(amc::FNs& ns) __attribute__((nothrow));
14003
14004// Insert row into pointer index. Return final membership status.
14005// func:amc.FNs.c_fcmdline.InsertMaybe
14006bool                 c_fcmdline_InsertMaybe(amc::FNs& ns, amc::FFcmdline& row) __attribute__((nothrow));
14007// Remove element from index. If element is not in index, do nothing.
14008// func:amc.FNs.c_fcmdline.Remove
14009void                 c_fcmdline_Remove(amc::FNs& ns, amc::FFcmdline& row) __attribute__((nothrow));
14010
14011// Insert row into pointer index. Return final membership status.
14012// func:amc.FNs.c_nsproto.InsertMaybe
14013bool                 c_nsproto_InsertMaybe(amc::FNs& ns, amc::FNsproto& row) __attribute__((nothrow));
14014// Remove element from index. If element is not in index, do nothing.
14015// func:amc.FNs.c_nsproto.Remove
14016void                 c_nsproto_Remove(amc::FNs& ns, amc::FNsproto& row) __attribute__((nothrow));
14017
14018// Insert row into pointer index. Return final membership status.
14019// func:amc.FNs.c_nsdb.InsertMaybe
14020bool                 c_nsdb_InsertMaybe(amc::FNs& ns, amc::FNsdb& row) __attribute__((nothrow));
14021// Remove element from index. If element is not in index, do nothing.
14022// func:amc.FNs.c_nsdb.Remove
14023void                 c_nsdb_Remove(amc::FNs& ns, amc::FNsdb& row) __attribute__((nothrow));
14024
14025// Delete all elements pointed to by the index.
14026// func:amc.FNs.c_outfile.Cascdel
14027void                 c_outfile_Cascdel(amc::FNs& ns) __attribute__((nothrow));
14028// Return true if index is empty
14029// func:amc.FNs.c_outfile.EmptyQ
14030bool                 c_outfile_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
14031// Look up row by row id. Return NULL if out of range
14032// func:amc.FNs.c_outfile.Find
14033amc::FOutfile*       c_outfile_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
14034// Return array of pointers
14035// func:amc.FNs.c_outfile.Getary
14036algo::aryptr<amc::FOutfile*> c_outfile_Getary(amc::FNs& ns) __attribute__((nothrow));
14037// Insert pointer to row into array. Row must not already be in array.
14038// If pointer is already in the array, it may be inserted twice.
14039// func:amc.FNs.c_outfile.Insert
14040void                 c_outfile_Insert(amc::FNs& ns, amc::FOutfile& row) __attribute__((nothrow));
14041// Insert pointer to row in array.
14042// If row is already in the array, do nothing.
14043// Return value: whether element was inserted into array.
14044// func:amc.FNs.c_outfile.InsertMaybe
14045bool                 c_outfile_InsertMaybe(amc::FNs& ns, amc::FOutfile& row) __attribute__((nothrow));
14046// Return number of items in the pointer array
14047// func:amc.FNs.c_outfile.N
14048i32                  c_outfile_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
14049// Find element using linear scan. If element is in array, remove, otherwise do nothing
14050// func:amc.FNs.c_outfile.Remove
14051void                 c_outfile_Remove(amc::FNs& ns, amc::FOutfile& row) __attribute__((nothrow));
14052// Empty the index. (The rows are not deleted)
14053// func:amc.FNs.c_outfile.RemoveAll
14054void                 c_outfile_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
14055// Reserve space in index for N more elements;
14056// func:amc.FNs.c_outfile.Reserve
14057void                 c_outfile_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
14058// Return reference without bounds checking
14059// func:amc.FNs.c_outfile.qFind
14060amc::FOutfile&       c_outfile_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
14061// True if row is in any ptrary instance
14062// func:amc.FNs.c_outfile.InAryQ
14063bool                 ns_c_outfile_InAryQ(amc::FOutfile& row) __attribute__((nothrow));
14064// Reference to last element without bounds checking
14065// func:amc.FNs.c_outfile.qLast
14066amc::FOutfile&       c_outfile_qLast(amc::FNs& ns) __attribute__((nothrow));
14067
14068// Return true if index is empty
14069// func:amc.FNs.c_foutput.EmptyQ
14070bool                 c_foutput_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
14071// Look up row by row id. Return NULL if out of range
14072// func:amc.FNs.c_foutput.Find
14073amc::FFoutput*       c_foutput_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
14074// Return array of pointers
14075// func:amc.FNs.c_foutput.Getary
14076algo::aryptr<amc::FFoutput*> c_foutput_Getary(amc::FNs& ns) __attribute__((nothrow));
14077// Insert pointer to row into array. Row must not already be in array.
14078// If pointer is already in the array, it may be inserted twice.
14079// func:amc.FNs.c_foutput.Insert
14080void                 c_foutput_Insert(amc::FNs& ns, amc::FFoutput& row) __attribute__((nothrow));
14081// Insert pointer to row in array.
14082// If row is already in the array, do nothing.
14083// Return value: whether element was inserted into array.
14084// func:amc.FNs.c_foutput.InsertMaybe
14085bool                 c_foutput_InsertMaybe(amc::FNs& ns, amc::FFoutput& row) __attribute__((nothrow));
14086// Return number of items in the pointer array
14087// func:amc.FNs.c_foutput.N
14088i32                  c_foutput_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
14089// Find element using linear scan. If element is in array, remove, otherwise do nothing
14090// func:amc.FNs.c_foutput.Remove
14091void                 c_foutput_Remove(amc::FNs& ns, amc::FFoutput& row) __attribute__((nothrow));
14092// Empty the index. (The rows are not deleted)
14093// func:amc.FNs.c_foutput.RemoveAll
14094void                 c_foutput_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
14095// Reserve space in index for N more elements;
14096// func:amc.FNs.c_foutput.Reserve
14097void                 c_foutput_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
14098// Return reference without bounds checking
14099// func:amc.FNs.c_foutput.qFind
14100amc::FFoutput&       c_foutput_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
14101// True if row is in any ptrary instance
14102// func:amc.FNs.c_foutput.InAryQ
14103bool                 ns_c_foutput_InAryQ(amc::FFoutput& row) __attribute__((nothrow));
14104// Reference to last element without bounds checking
14105// func:amc.FNs.c_foutput.qLast
14106amc::FFoutput&       c_foutput_qLast(amc::FNs& ns) __attribute__((nothrow));
14107
14108// Return true if index is empty
14109// func:amc.FNs.c_fstep.EmptyQ
14110bool                 c_fstep_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
14111// Look up row by row id. Return NULL if out of range
14112// func:amc.FNs.c_fstep.Find
14113amc::FFstep*         c_fstep_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
14114// Return array of pointers
14115// func:amc.FNs.c_fstep.Getary
14116algo::aryptr<amc::FFstep*> c_fstep_Getary(amc::FNs& ns) __attribute__((nothrow));
14117// Insert pointer to row into array. Row must not already be in array.
14118// If pointer is already in the array, it may be inserted twice.
14119// func:amc.FNs.c_fstep.Insert
14120void                 c_fstep_Insert(amc::FNs& ns, amc::FFstep& row) __attribute__((nothrow));
14121// Insert pointer to row in array.
14122// If row is already in the array, do nothing.
14123// Return value: whether element was inserted into array.
14124// func:amc.FNs.c_fstep.InsertMaybe
14125bool                 c_fstep_InsertMaybe(amc::FNs& ns, amc::FFstep& row) __attribute__((nothrow));
14126// Return number of items in the pointer array
14127// func:amc.FNs.c_fstep.N
14128i32                  c_fstep_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
14129// Find element using linear scan. If element is in array, remove, otherwise do nothing
14130// func:amc.FNs.c_fstep.Remove
14131void                 c_fstep_Remove(amc::FNs& ns, amc::FFstep& row) __attribute__((nothrow));
14132// Empty the index. (The rows are not deleted)
14133// func:amc.FNs.c_fstep.RemoveAll
14134void                 c_fstep_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
14135// Reserve space in index for N more elements;
14136// func:amc.FNs.c_fstep.Reserve
14137void                 c_fstep_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
14138// Return reference without bounds checking
14139// func:amc.FNs.c_fstep.qFind
14140amc::FFstep&         c_fstep_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
14141// True if row is in any ptrary instance
14142// func:amc.FNs.c_fstep.InAryQ
14143bool                 ns_c_fstep_InAryQ(amc::FFstep& row) __attribute__((nothrow));
14144// Reference to last element without bounds checking
14145// func:amc.FNs.c_fstep.qLast
14146amc::FFstep&         c_fstep_qLast(amc::FNs& ns) __attribute__((nothrow));
14147
14148// Return true if index is empty
14149// func:amc.FNs.c_gsymbol.EmptyQ
14150bool                 c_gsymbol_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
14151// Look up row by row id. Return NULL if out of range
14152// func:amc.FNs.c_gsymbol.Find
14153amc::FGsymbol*       c_gsymbol_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
14154// Return array of pointers
14155// func:amc.FNs.c_gsymbol.Getary
14156algo::aryptr<amc::FGsymbol*> c_gsymbol_Getary(amc::FNs& ns) __attribute__((nothrow));
14157// Insert pointer to row into array. Row must not already be in array.
14158// If pointer is already in the array, it may be inserted twice.
14159// func:amc.FNs.c_gsymbol.Insert
14160void                 c_gsymbol_Insert(amc::FNs& ns, amc::FGsymbol& row) __attribute__((nothrow));
14161// Insert pointer to row in array.
14162// If row is already in the array, do nothing.
14163// Return value: whether element was inserted into array.
14164// func:amc.FNs.c_gsymbol.InsertMaybe
14165bool                 c_gsymbol_InsertMaybe(amc::FNs& ns, amc::FGsymbol& row) __attribute__((nothrow));
14166// Return number of items in the pointer array
14167// func:amc.FNs.c_gsymbol.N
14168i32                  c_gsymbol_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
14169// Find element using linear scan. If element is in array, remove, otherwise do nothing
14170// func:amc.FNs.c_gsymbol.Remove
14171void                 c_gsymbol_Remove(amc::FNs& ns, amc::FGsymbol& row) __attribute__((nothrow));
14172// Empty the index. (The rows are not deleted)
14173// func:amc.FNs.c_gsymbol.RemoveAll
14174void                 c_gsymbol_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
14175// Reserve space in index for N more elements;
14176// func:amc.FNs.c_gsymbol.Reserve
14177void                 c_gsymbol_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
14178// Return reference without bounds checking
14179// func:amc.FNs.c_gsymbol.qFind
14180amc::FGsymbol&       c_gsymbol_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
14181// True if row is in any ptrary instance
14182// func:amc.FNs.c_gsymbol.InAryQ
14183bool                 ns_c_gsymbol_InAryQ(amc::FGsymbol& row) __attribute__((nothrow));
14184// Reference to last element without bounds checking
14185// func:amc.FNs.c_gsymbol.qLast
14186amc::FGsymbol&       c_gsymbol_qLast(amc::FNs& ns) __attribute__((nothrow));
14187
14188// Return true if index is empty
14189// func:amc.FNs.c_nsinclude.EmptyQ
14190bool                 c_nsinclude_EmptyQ(amc::FNs& ns) __attribute__((nothrow));
14191// Look up row by row id. Return NULL if out of range
14192// func:amc.FNs.c_nsinclude.Find
14193amc::FNsinclude*     c_nsinclude_Find(amc::FNs& ns, u32 t) __attribute__((__warn_unused_result__, nothrow));
14194// Return array of pointers
14195// func:amc.FNs.c_nsinclude.Getary
14196algo::aryptr<amc::FNsinclude*> c_nsinclude_Getary(amc::FNs& ns) __attribute__((nothrow));
14197// Insert pointer to row into array. Row must not already be in array.
14198// If pointer is already in the array, it may be inserted twice.
14199// func:amc.FNs.c_nsinclude.Insert
14200void                 c_nsinclude_Insert(amc::FNs& ns, amc::FNsinclude& row) __attribute__((nothrow));
14201// Insert pointer to row in array.
14202// If row is already in the array, do nothing.
14203// Return value: whether element was inserted into array.
14204// func:amc.FNs.c_nsinclude.InsertMaybe
14205bool                 c_nsinclude_InsertMaybe(amc::FNs& ns, amc::FNsinclude& row) __attribute__((nothrow));
14206// Return number of items in the pointer array
14207// func:amc.FNs.c_nsinclude.N
14208i32                  c_nsinclude_N(const amc::FNs& ns) __attribute__((__warn_unused_result__, nothrow, pure));
14209// Find element using linear scan. If element is in array, remove, otherwise do nothing
14210// func:amc.FNs.c_nsinclude.Remove
14211void                 c_nsinclude_Remove(amc::FNs& ns, amc::FNsinclude& row) __attribute__((nothrow));
14212// Empty the index. (The rows are not deleted)
14213// func:amc.FNs.c_nsinclude.RemoveAll
14214void                 c_nsinclude_RemoveAll(amc::FNs& ns) __attribute__((nothrow));
14215// Reserve space in index for N more elements;
14216// func:amc.FNs.c_nsinclude.Reserve
14217void                 c_nsinclude_Reserve(amc::FNs& ns, u32 n) __attribute__((nothrow));
14218// Return reference without bounds checking
14219// func:amc.FNs.c_nsinclude.qFind
14220amc::FNsinclude&     c_nsinclude_qFind(amc::FNs& ns, u32 idx) __attribute__((nothrow));
14221// True if row is in any ptrary instance
14222// func:amc.FNs.c_nsinclude.InAryQ
14223bool                 ns_c_nsinclude_InAryQ(amc::FNsinclude& row) __attribute__((nothrow));
14224// Reference to last element without bounds checking
14225// func:amc.FNs.c_nsinclude.qLast
14226amc::FNsinclude&     c_nsinclude_qLast(amc::FNs& ns) __attribute__((nothrow));
14227
14228// Insert row into pointer index. Return final membership status.
14229// func:amc.FNs.c_nscpp.InsertMaybe
14230bool                 c_nscpp_InsertMaybe(amc::FNs& ns, amc::FNscpp& row) __attribute__((nothrow));
14231// Remove element from index. If element is not in index, do nothing.
14232// func:amc.FNs.c_nscpp.Remove
14233void                 c_nscpp_Remove(amc::FNs& ns, amc::FNscpp& row) __attribute__((nothrow));
14234
14235// Set all fields to initial values.
14236// func:amc.FNs..Init
14237void                 FNs_Init(amc::FNs& ns);
14238// func:amc.FNs.c_ctype_curs.Reset
14239void                 ns_c_ctype_curs_Reset(ns_c_ctype_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14240// cursor points to valid item
14241// func:amc.FNs.c_ctype_curs.ValidQ
14242bool                 ns_c_ctype_curs_ValidQ(ns_c_ctype_curs &curs) __attribute__((nothrow));
14243// proceed to next item
14244// func:amc.FNs.c_ctype_curs.Next
14245void                 ns_c_ctype_curs_Next(ns_c_ctype_curs &curs) __attribute__((nothrow));
14246// item access
14247// func:amc.FNs.c_ctype_curs.Access
14248amc::FCtype&         ns_c_ctype_curs_Access(ns_c_ctype_curs &curs) __attribute__((nothrow));
14249// func:amc.FNs.c_func_curs.Reset
14250void                 ns_c_func_curs_Reset(ns_c_func_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14251// cursor points to valid item
14252// func:amc.FNs.c_func_curs.ValidQ
14253bool                 ns_c_func_curs_ValidQ(ns_c_func_curs &curs) __attribute__((nothrow));
14254// proceed to next item
14255// func:amc.FNs.c_func_curs.Next
14256void                 ns_c_func_curs_Next(ns_c_func_curs &curs) __attribute__((nothrow));
14257// item access
14258// func:amc.FNs.c_func_curs.Access
14259amc::FFunc&          ns_c_func_curs_Access(ns_c_func_curs &curs) __attribute__((nothrow));
14260// func:amc.FNs.c_dispatch_curs.Reset
14261void                 ns_c_dispatch_curs_Reset(ns_c_dispatch_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14262// cursor points to valid item
14263// func:amc.FNs.c_dispatch_curs.ValidQ
14264bool                 ns_c_dispatch_curs_ValidQ(ns_c_dispatch_curs &curs) __attribute__((nothrow));
14265// proceed to next item
14266// func:amc.FNs.c_dispatch_curs.Next
14267void                 ns_c_dispatch_curs_Next(ns_c_dispatch_curs &curs) __attribute__((nothrow));
14268// item access
14269// func:amc.FNs.c_dispatch_curs.Access
14270amc::FDispatch&      ns_c_dispatch_curs_Access(ns_c_dispatch_curs &curs) __attribute__((nothrow));
14271// func:amc.FNs.c_gstatic_curs.Reset
14272void                 ns_c_gstatic_curs_Reset(ns_c_gstatic_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14273// cursor points to valid item
14274// func:amc.FNs.c_gstatic_curs.ValidQ
14275bool                 ns_c_gstatic_curs_ValidQ(ns_c_gstatic_curs &curs) __attribute__((nothrow));
14276// proceed to next item
14277// func:amc.FNs.c_gstatic_curs.Next
14278void                 ns_c_gstatic_curs_Next(ns_c_gstatic_curs &curs) __attribute__((nothrow));
14279// item access
14280// func:amc.FNs.c_gstatic_curs.Access
14281amc::FGstatic&       ns_c_gstatic_curs_Access(ns_c_gstatic_curs &curs) __attribute__((nothrow));
14282// proceed to next item
14283// func:amc.FNs.include_curs.Next
14284void                 ns_include_curs_Next(ns_include_curs &curs) __attribute__((nothrow));
14285// func:amc.FNs.include_curs.Reset
14286void                 ns_include_curs_Reset(ns_include_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14287// cursor points to valid item
14288// func:amc.FNs.include_curs.ValidQ
14289bool                 ns_include_curs_ValidQ(ns_include_curs &curs) __attribute__((nothrow));
14290// item access
14291// func:amc.FNs.include_curs.Access
14292algo::cstring&       ns_include_curs_Access(ns_include_curs &curs) __attribute__((nothrow));
14293// func:amc.FNs.c_dispsig_curs.Reset
14294void                 ns_c_dispsig_curs_Reset(ns_c_dispsig_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14295// cursor points to valid item
14296// func:amc.FNs.c_dispsig_curs.ValidQ
14297bool                 ns_c_dispsig_curs_ValidQ(ns_c_dispsig_curs &curs) __attribute__((nothrow));
14298// proceed to next item
14299// func:amc.FNs.c_dispsig_curs.Next
14300void                 ns_c_dispsig_curs_Next(ns_c_dispsig_curs &curs) __attribute__((nothrow));
14301// item access
14302// func:amc.FNs.c_dispsig_curs.Access
14303amc::FDispsig&       ns_c_dispsig_curs_Access(ns_c_dispsig_curs &curs) __attribute__((nothrow));
14304// func:amc.FNs.c_parentns_curs.Reset
14305void                 ns_c_parentns_curs_Reset(ns_c_parentns_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14306// cursor points to valid item
14307// func:amc.FNs.c_parentns_curs.ValidQ
14308bool                 ns_c_parentns_curs_ValidQ(ns_c_parentns_curs &curs) __attribute__((nothrow));
14309// proceed to next item
14310// func:amc.FNs.c_parentns_curs.Next
14311void                 ns_c_parentns_curs_Next(ns_c_parentns_curs &curs) __attribute__((nothrow));
14312// item access
14313// func:amc.FNs.c_parentns_curs.Access
14314amc::FNs&            ns_c_parentns_curs_Access(ns_c_parentns_curs &curs) __attribute__((nothrow));
14315// func:amc.FNs.c_cppincl_curs.Reset
14316void                 ns_c_cppincl_curs_Reset(ns_c_cppincl_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14317// cursor points to valid item
14318// func:amc.FNs.c_cppincl_curs.ValidQ
14319bool                 ns_c_cppincl_curs_ValidQ(ns_c_cppincl_curs &curs) __attribute__((nothrow));
14320// proceed to next item
14321// func:amc.FNs.c_cppincl_curs.Next
14322void                 ns_c_cppincl_curs_Next(ns_c_cppincl_curs &curs) __attribute__((nothrow));
14323// item access
14324// func:amc.FNs.c_cppincl_curs.Access
14325amc::FNs&            ns_c_cppincl_curs_Access(ns_c_cppincl_curs &curs) __attribute__((nothrow));
14326// func:amc.FNs.c_hdrincl_curs.Reset
14327void                 ns_c_hdrincl_curs_Reset(ns_c_hdrincl_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14328// cursor points to valid item
14329// func:amc.FNs.c_hdrincl_curs.ValidQ
14330bool                 ns_c_hdrincl_curs_ValidQ(ns_c_hdrincl_curs &curs) __attribute__((nothrow));
14331// proceed to next item
14332// func:amc.FNs.c_hdrincl_curs.Next
14333void                 ns_c_hdrincl_curs_Next(ns_c_hdrincl_curs &curs) __attribute__((nothrow));
14334// item access
14335// func:amc.FNs.c_hdrincl_curs.Access
14336amc::FNs&            ns_c_hdrincl_curs_Access(ns_c_hdrincl_curs &curs) __attribute__((nothrow));
14337// func:amc.FNs.c_fwddecl_curs.Reset
14338void                 ns_c_fwddecl_curs_Reset(ns_c_fwddecl_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14339// cursor points to valid item
14340// func:amc.FNs.c_fwddecl_curs.ValidQ
14341bool                 ns_c_fwddecl_curs_ValidQ(ns_c_fwddecl_curs &curs) __attribute__((nothrow));
14342// proceed to next item
14343// func:amc.FNs.c_fwddecl_curs.Next
14344void                 ns_c_fwddecl_curs_Next(ns_c_fwddecl_curs &curs) __attribute__((nothrow));
14345// item access
14346// func:amc.FNs.c_fwddecl_curs.Access
14347amc::FFwddecl&       ns_c_fwddecl_curs_Access(ns_c_fwddecl_curs &curs) __attribute__((nothrow));
14348// func:amc.FNs.c_pnew_curs.Reset
14349void                 ns_c_pnew_curs_Reset(ns_c_pnew_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14350// cursor points to valid item
14351// func:amc.FNs.c_pnew_curs.ValidQ
14352bool                 ns_c_pnew_curs_ValidQ(ns_c_pnew_curs &curs) __attribute__((nothrow));
14353// proceed to next item
14354// func:amc.FNs.c_pnew_curs.Next
14355void                 ns_c_pnew_curs_Next(ns_c_pnew_curs &curs) __attribute__((nothrow));
14356// item access
14357// func:amc.FNs.c_pnew_curs.Access
14358amc::FPnew&          ns_c_pnew_curs_Access(ns_c_pnew_curs &curs) __attribute__((nothrow));
14359// func:amc.FNs.c_outfile_curs.Reset
14360void                 ns_c_outfile_curs_Reset(ns_c_outfile_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14361// cursor points to valid item
14362// func:amc.FNs.c_outfile_curs.ValidQ
14363bool                 ns_c_outfile_curs_ValidQ(ns_c_outfile_curs &curs) __attribute__((nothrow));
14364// proceed to next item
14365// func:amc.FNs.c_outfile_curs.Next
14366void                 ns_c_outfile_curs_Next(ns_c_outfile_curs &curs) __attribute__((nothrow));
14367// item access
14368// func:amc.FNs.c_outfile_curs.Access
14369amc::FOutfile&       ns_c_outfile_curs_Access(ns_c_outfile_curs &curs) __attribute__((nothrow));
14370// func:amc.FNs.c_foutput_curs.Reset
14371void                 ns_c_foutput_curs_Reset(ns_c_foutput_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14372// cursor points to valid item
14373// func:amc.FNs.c_foutput_curs.ValidQ
14374bool                 ns_c_foutput_curs_ValidQ(ns_c_foutput_curs &curs) __attribute__((nothrow));
14375// proceed to next item
14376// func:amc.FNs.c_foutput_curs.Next
14377void                 ns_c_foutput_curs_Next(ns_c_foutput_curs &curs) __attribute__((nothrow));
14378// item access
14379// func:amc.FNs.c_foutput_curs.Access
14380amc::FFoutput&       ns_c_foutput_curs_Access(ns_c_foutput_curs &curs) __attribute__((nothrow));
14381// func:amc.FNs.c_fstep_curs.Reset
14382void                 ns_c_fstep_curs_Reset(ns_c_fstep_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14383// cursor points to valid item
14384// func:amc.FNs.c_fstep_curs.ValidQ
14385bool                 ns_c_fstep_curs_ValidQ(ns_c_fstep_curs &curs) __attribute__((nothrow));
14386// proceed to next item
14387// func:amc.FNs.c_fstep_curs.Next
14388void                 ns_c_fstep_curs_Next(ns_c_fstep_curs &curs) __attribute__((nothrow));
14389// item access
14390// func:amc.FNs.c_fstep_curs.Access
14391amc::FFstep&         ns_c_fstep_curs_Access(ns_c_fstep_curs &curs) __attribute__((nothrow));
14392// func:amc.FNs.c_gsymbol_curs.Reset
14393void                 ns_c_gsymbol_curs_Reset(ns_c_gsymbol_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14394// cursor points to valid item
14395// func:amc.FNs.c_gsymbol_curs.ValidQ
14396bool                 ns_c_gsymbol_curs_ValidQ(ns_c_gsymbol_curs &curs) __attribute__((nothrow));
14397// proceed to next item
14398// func:amc.FNs.c_gsymbol_curs.Next
14399void                 ns_c_gsymbol_curs_Next(ns_c_gsymbol_curs &curs) __attribute__((nothrow));
14400// item access
14401// func:amc.FNs.c_gsymbol_curs.Access
14402amc::FGsymbol&       ns_c_gsymbol_curs_Access(ns_c_gsymbol_curs &curs) __attribute__((nothrow));
14403// func:amc.FNs.c_nsinclude_curs.Reset
14404void                 ns_c_nsinclude_curs_Reset(ns_c_nsinclude_curs &curs, amc::FNs &parent) __attribute__((nothrow));
14405// cursor points to valid item
14406// func:amc.FNs.c_nsinclude_curs.ValidQ
14407bool                 ns_c_nsinclude_curs_ValidQ(ns_c_nsinclude_curs &curs) __attribute__((nothrow));
14408// proceed to next item
14409// func:amc.FNs.c_nsinclude_curs.Next
14410void                 ns_c_nsinclude_curs_Next(ns_c_nsinclude_curs &curs) __attribute__((nothrow));
14411// item access
14412// func:amc.FNs.c_nsinclude_curs.Access
14413amc::FNsinclude&     ns_c_nsinclude_curs_Access(ns_c_nsinclude_curs &curs) __attribute__((nothrow));
14414// func:amc.FNs..Uninit
14415void                 FNs_Uninit(amc::FNs& ns) __attribute__((nothrow));
14416
14417// --- amc.FNscpp
14418// create: amc.FDb.nscpp (Lary)
14419// access: amc.FNs.c_nscpp (Ptr)
14420struct FNscpp { // amc.FNscpp
14421    algo::Smallstr16   ns;        //
14422    algo::Comment      comment;   //
14423private:
14424    friend amc::FNscpp&         nscpp_Alloc() __attribute__((__warn_unused_result__, nothrow));
14425    friend amc::FNscpp*         nscpp_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14426    friend void                 nscpp_RemoveAll() __attribute__((nothrow));
14427    friend void                 nscpp_RemoveLast() __attribute__((nothrow));
14428    FNscpp();
14429    ~FNscpp();
14430    FNscpp(const FNscpp&){ /*disallow copy constructor */}
14431    void operator =(const FNscpp&){ /*disallow direct assignment */}
14432};
14433
14434// Copy fields out of row
14435// func:amc.FNscpp.base.CopyOut
14436void                 nscpp_CopyOut(amc::FNscpp &row, dmmeta::Nscpp &out) __attribute__((nothrow));
14437// Copy fields in to row
14438// func:amc.FNscpp.base.CopyIn
14439void                 nscpp_CopyIn(amc::FNscpp &row, dmmeta::Nscpp &in) __attribute__((nothrow));
14440
14441// func:amc.FNscpp..Uninit
14442void                 FNscpp_Uninit(amc::FNscpp& nscpp) __attribute__((nothrow));
14443
14444// --- amc.FNsdb
14445// create: amc.FDb.nsdb (Lary)
14446// access: amc.FNs.c_nsdb (Ptr)
14447struct FNsdb { // amc.FNsdb
14448    algo::Smallstr16   ns;        //
14449    algo::Comment      comment;   //
14450private:
14451    friend amc::FNsdb&          nsdb_Alloc() __attribute__((__warn_unused_result__, nothrow));
14452    friend amc::FNsdb*          nsdb_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14453    friend void                 nsdb_RemoveLast() __attribute__((nothrow));
14454    FNsdb();
14455    ~FNsdb();
14456    FNsdb(const FNsdb&){ /*disallow copy constructor */}
14457    void operator =(const FNsdb&){ /*disallow direct assignment */}
14458};
14459
14460// Copy fields out of row
14461// func:amc.FNsdb.base.CopyOut
14462void                 nsdb_CopyOut(amc::FNsdb &row, dmmeta::Nsdb &out) __attribute__((nothrow));
14463// Copy fields in to row
14464// func:amc.FNsdb.base.CopyIn
14465void                 nsdb_CopyIn(amc::FNsdb &row, dmmeta::Nsdb &in) __attribute__((nothrow));
14466
14467// func:amc.FNsdb..Uninit
14468void                 FNsdb_Uninit(amc::FNsdb& nsdb) __attribute__((nothrow));
14469
14470// --- amc.FNsinclude
14471// create: amc.FDb.nsinclude (Lary)
14472// access: amc.FNs.c_nsinclude (Ptrary)
14473struct FNsinclude { // amc.FNsinclude
14474    algo::Smallstr50   nsinclude;               //
14475    bool               sys;                     //   false
14476    algo::Comment      comment;                 //
14477    bool               ns_c_nsinclude_in_ary;   //   false  membership flag
14478private:
14479    friend amc::FNsinclude&     nsinclude_Alloc() __attribute__((__warn_unused_result__, nothrow));
14480    friend amc::FNsinclude*     nsinclude_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14481    friend void                 nsinclude_RemoveAll() __attribute__((nothrow));
14482    friend void                 nsinclude_RemoveLast() __attribute__((nothrow));
14483    FNsinclude();
14484    ~FNsinclude();
14485    FNsinclude(const FNsinclude&){ /*disallow copy constructor */}
14486    void operator =(const FNsinclude&){ /*disallow direct assignment */}
14487};
14488
14489// Copy fields out of row
14490// func:amc.FNsinclude.base.CopyOut
14491void                 nsinclude_CopyOut(amc::FNsinclude &row, dmmeta::Nsinclude &out) __attribute__((nothrow));
14492// Copy fields in to row
14493// func:amc.FNsinclude.base.CopyIn
14494void                 nsinclude_CopyIn(amc::FNsinclude &row, dmmeta::Nsinclude &in) __attribute__((nothrow));
14495
14496// func:amc.FNsinclude.ns.Get
14497algo::Smallstr16     ns_Get(amc::FNsinclude& nsinclude) __attribute__((__warn_unused_result__, nothrow));
14498
14499// func:amc.FNsinclude.name.Get
14500algo::Smallstr50     name_Get(amc::FNsinclude& nsinclude) __attribute__((__warn_unused_result__, nothrow));
14501
14502// Set all fields to initial values.
14503// func:amc.FNsinclude..Init
14504void                 FNsinclude_Init(amc::FNsinclude& nsinclude);
14505// func:amc.FNsinclude..Uninit
14506void                 FNsinclude_Uninit(amc::FNsinclude& nsinclude) __attribute__((nothrow));
14507
14508// --- amc.FNsproto
14509// create: amc.FDb.nsproto (Lary)
14510// access: amc.FNs.c_nsproto (Ptr)
14511struct FNsproto { // amc.FNsproto
14512    algo::Smallstr16   ns;        //
14513    algo::Comment      comment;   //
14514private:
14515    friend amc::FNsproto&       nsproto_Alloc() __attribute__((__warn_unused_result__, nothrow));
14516    friend amc::FNsproto*       nsproto_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14517    friend void                 nsproto_RemoveLast() __attribute__((nothrow));
14518    FNsproto();
14519    ~FNsproto();
14520    FNsproto(const FNsproto&){ /*disallow copy constructor */}
14521    void operator =(const FNsproto&){ /*disallow direct assignment */}
14522};
14523
14524// Copy fields out of row
14525// func:amc.FNsproto.base.CopyOut
14526void                 nsproto_CopyOut(amc::FNsproto &row, dmmeta::Nsproto &out) __attribute__((nothrow));
14527// Copy fields in to row
14528// func:amc.FNsproto.base.CopyIn
14529void                 nsproto_CopyIn(amc::FNsproto &row, dmmeta::Nsproto &in) __attribute__((nothrow));
14530
14531// func:amc.FNsproto..Uninit
14532void                 FNsproto_Uninit(amc::FNsproto& nsproto) __attribute__((nothrow));
14533
14534// --- amc.FNsx
14535// create: amc.FDb.nsx (Lary)
14536// access: amc.FNs.c_nsx (Ptr)
14537struct FNsx { // amc.FNsx
14538    algo::Smallstr16    ns;                    //
14539    bool                genthrow;              //   false
14540    bool                correct_getorcreate;   //   false
14541    algo::Smallstr100   pool;                  //
14542    bool                sortxref;              //   false
14543    bool                pack;                  //   false
14544    algo::Comment       comment;               //
14545    amc::FField*        p_pool;                // reference to parent row
14546private:
14547    friend amc::FNsx&           nsx_Alloc() __attribute__((__warn_unused_result__, nothrow));
14548    friend amc::FNsx*           nsx_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14549    friend void                 nsx_RemoveLast() __attribute__((nothrow));
14550    FNsx();
14551    ~FNsx();
14552    FNsx(const FNsx&){ /*disallow copy constructor */}
14553    void operator =(const FNsx&){ /*disallow direct assignment */}
14554};
14555
14556// Copy fields out of row
14557// func:amc.FNsx.base.CopyOut
14558void                 nsx_CopyOut(amc::FNsx &row, dmmeta::Nsx &out) __attribute__((nothrow));
14559// Copy fields in to row
14560// func:amc.FNsx.base.CopyIn
14561void                 nsx_CopyIn(amc::FNsx &row, dmmeta::Nsx &in) __attribute__((nothrow));
14562
14563// Set all fields to initial values.
14564// func:amc.FNsx..Init
14565void                 FNsx_Init(amc::FNsx& nsx);
14566// func:amc.FNsx..Uninit
14567void                 FNsx_Uninit(amc::FNsx& nsx) __attribute__((nothrow));
14568
14569// --- amc.FNumstr
14570// create: amc.FDb.numstr (Lary)
14571// access: amc.FSmallstr.c_numstr (Ptr)
14572struct FNumstr { // amc.FNumstr
14573    algo::Smallstr100   field;       // String type
14574    algo::Smallstr100   numtype;     // Corresponding numeric type
14575    i32                 base;        //   0  Base for conversion
14576    i32                 min_len;     //   0  Mininum length of string
14577    amc::FCtype*        p_numtype;   // reference to parent row
14578    u64                 nummin;      //   0
14579    u64                 nummax;      //   0
14580    bool                issigned;    //   false
14581private:
14582    friend amc::FNumstr&        numstr_Alloc() __attribute__((__warn_unused_result__, nothrow));
14583    friend amc::FNumstr*        numstr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14584    friend void                 numstr_RemoveLast() __attribute__((nothrow));
14585    FNumstr();
14586    ~FNumstr();
14587    FNumstr(const FNumstr&){ /*disallow copy constructor */}
14588    void operator =(const FNumstr&){ /*disallow direct assignment */}
14589};
14590
14591// Copy fields out of row
14592// func:amc.FNumstr.msghdr.CopyOut
14593void                 numstr_CopyOut(amc::FNumstr &row, dmmeta::Numstr &out) __attribute__((nothrow));
14594// Copy fields in to row
14595// func:amc.FNumstr.msghdr.CopyIn
14596void                 numstr_CopyIn(amc::FNumstr &row, dmmeta::Numstr &in) __attribute__((nothrow));
14597
14598// Set all fields to initial values.
14599// func:amc.FNumstr..Init
14600void                 FNumstr_Init(amc::FNumstr& numstr);
14601// func:amc.FNumstr..Uninit
14602void                 FNumstr_Uninit(amc::FNumstr& numstr) __attribute__((nothrow));
14603
14604// --- amc.FOutfile
14605// create: amc.FDb.outfile (Tpool)
14606// access: amc.FNs.c_outfile (Ptrary)
14607struct FOutfile { // amc.FOutfile: AMC's output file (generated file under include/gen or cpp/gen)
14608    amc::FOutfile*      outfile_next;          // Pointer to next free element int tpool
14609    algo::cstring       text;                  //
14610    amc::FNs*           p_ns;                  // reference to parent row
14611    algo::cstring       ssim;                  // Ssim content
14612    algo::cstring       prev_head;             // Helper
14613    algo::Smallstr200   outfile;               //
14614    bool                ns_c_outfile_in_ary;   //   false  membership flag
14615private:
14616    friend amc::FOutfile&       outfile_Alloc() __attribute__((__warn_unused_result__, nothrow));
14617    friend amc::FOutfile*       outfile_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14618    friend void                 outfile_Delete(amc::FOutfile &row) __attribute__((nothrow));
14619    FOutfile();
14620    ~FOutfile();
14621    FOutfile(const FOutfile&){ /*disallow copy constructor */}
14622    void operator =(const FOutfile&){ /*disallow direct assignment */}
14623};
14624
14625// func:amc.FOutfile.ns.Get
14626algo::Smallstr16     ns_Get(amc::FOutfile& outfile) __attribute__((__warn_unused_result__, nothrow));
14627
14628// Set all fields to initial values.
14629// func:amc.FOutfile..Init
14630void                 FOutfile_Init(amc::FOutfile& outfile);
14631// func:amc.FOutfile..Uninit
14632void                 FOutfile_Uninit(amc::FOutfile& outfile) __attribute__((nothrow));
14633
14634// --- amc.FPack
14635// create: amc.FDb.pack (Lary)
14636// global access: ind_pack (Thash)
14637// access: amc.FCtype.c_pack (Ptr)
14638struct FPack { // amc.FPack
14639    amc::FPack*         ind_pack_next;   // hash next
14640    algo::Smallstr100   ctype;           // Target ctype
14641    amc::FCtype*        p_ctype;         // reference to parent row
14642private:
14643    friend amc::FPack&          pack_Alloc() __attribute__((__warn_unused_result__, nothrow));
14644    friend amc::FPack*          pack_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14645    friend void                 pack_RemoveLast() __attribute__((nothrow));
14646    FPack();
14647    ~FPack();
14648    FPack(const FPack&){ /*disallow copy constructor */}
14649    void operator =(const FPack&){ /*disallow direct assignment */}
14650};
14651
14652// Copy fields out of row
14653// func:amc.FPack.msghdr.CopyOut
14654void                 pack_CopyOut(amc::FPack &row, dmmeta::Pack &out) __attribute__((nothrow));
14655// Copy fields in to row
14656// func:amc.FPack.msghdr.CopyIn
14657void                 pack_CopyIn(amc::FPack &row, dmmeta::Pack &in) __attribute__((nothrow));
14658
14659// Set all fields to initial values.
14660// func:amc.FPack..Init
14661void                 FPack_Init(amc::FPack& pack);
14662// func:amc.FPack..Uninit
14663void                 FPack_Uninit(amc::FPack& pack) __attribute__((nothrow));
14664
14665// --- amc.FPmaskfld
14666// create: amc.FDb.pmaskfld (Lary)
14667// global access: ind_pmaskfld (Thash)
14668// access: amc.FCtype.c_pmaskfld (Ptrary)
14669// access: amc.FField.c_pmaskfld (Ptr)
14670// access: amc.FPmaskfldMember.p_pmaskfld (Upptr)
14671struct FPmaskfld { // amc.FPmaskfld
14672    amc::FPmaskfld*          ind_pmaskfld_next;         // hash next
14673    algo::Smallstr100        field;                     //
14674    bool                     filter_print;              //   true  Omit non-present fields when printing
14675    algo::Comment            comment;                   //
14676    amc::FField*             p_field;                   // reference to parent row
14677    u32                      nextbit;                   //   0  Next bit to allocate
14678    amc::FPmaskfldMember**   c_pmaskfld_member_elems;   // array of pointers
14679    u32                      c_pmaskfld_member_n;       // array of pointers
14680    u32                      c_pmaskfld_member_max;     // capacity of allocated array
14681    algo::Smallstr50         funcname;                  //
14682    bool                     ctype_c_pmaskfld_in_ary;   //   false  membership flag
14683private:
14684    friend amc::FPmaskfld&      pmaskfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
14685    friend amc::FPmaskfld*      pmaskfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14686    friend void                 pmaskfld_RemoveLast() __attribute__((nothrow));
14687    FPmaskfld();
14688    ~FPmaskfld();
14689    FPmaskfld(const FPmaskfld&){ /*disallow copy constructor */}
14690    void operator =(const FPmaskfld&){ /*disallow direct assignment */}
14691};
14692
14693// Copy fields out of row
14694// func:amc.FPmaskfld.msghdr.CopyOut
14695void                 pmaskfld_CopyOut(amc::FPmaskfld &row, dmmeta::Pmaskfld &out) __attribute__((nothrow));
14696// Copy fields in to row
14697// func:amc.FPmaskfld.msghdr.CopyIn
14698void                 pmaskfld_CopyIn(amc::FPmaskfld &row, dmmeta::Pmaskfld &in) __attribute__((nothrow));
14699
14700// func:amc.FPmaskfld.ctype.Get
14701algo::Smallstr100    ctype_Get(amc::FPmaskfld& pmaskfld) __attribute__((__warn_unused_result__, nothrow));
14702
14703// Return true if index is empty
14704// func:amc.FPmaskfld.c_pmaskfld_member.EmptyQ
14705bool                 c_pmaskfld_member_EmptyQ(amc::FPmaskfld& pmaskfld) __attribute__((nothrow));
14706// Look up row by row id. Return NULL if out of range
14707// func:amc.FPmaskfld.c_pmaskfld_member.Find
14708amc::FPmaskfldMember* c_pmaskfld_member_Find(amc::FPmaskfld& pmaskfld, u32 t) __attribute__((__warn_unused_result__, nothrow));
14709// Return array of pointers
14710// func:amc.FPmaskfld.c_pmaskfld_member.Getary
14711algo::aryptr<amc::FPmaskfldMember*> c_pmaskfld_member_Getary(amc::FPmaskfld& pmaskfld) __attribute__((nothrow));
14712// Insert pointer to row into array. Row must not already be in array.
14713// If pointer is already in the array, it may be inserted twice.
14714// func:amc.FPmaskfld.c_pmaskfld_member.Insert
14715void                 c_pmaskfld_member_Insert(amc::FPmaskfld& pmaskfld, amc::FPmaskfldMember& row) __attribute__((nothrow));
14716// Insert pointer to row in array.
14717// If row is already in the array, do nothing.
14718// Return value: whether element was inserted into array.
14719// func:amc.FPmaskfld.c_pmaskfld_member.InsertMaybe
14720bool                 c_pmaskfld_member_InsertMaybe(amc::FPmaskfld& pmaskfld, amc::FPmaskfldMember& row) __attribute__((nothrow));
14721// Return number of items in the pointer array
14722// func:amc.FPmaskfld.c_pmaskfld_member.N
14723i32                  c_pmaskfld_member_N(const amc::FPmaskfld& pmaskfld) __attribute__((__warn_unused_result__, nothrow, pure));
14724// Find element using linear scan. If element is in array, remove, otherwise do nothing
14725// func:amc.FPmaskfld.c_pmaskfld_member.Remove
14726void                 c_pmaskfld_member_Remove(amc::FPmaskfld& pmaskfld, amc::FPmaskfldMember& row) __attribute__((nothrow));
14727// Empty the index. (The rows are not deleted)
14728// func:amc.FPmaskfld.c_pmaskfld_member.RemoveAll
14729void                 c_pmaskfld_member_RemoveAll(amc::FPmaskfld& pmaskfld) __attribute__((nothrow));
14730// Reserve space in index for N more elements;
14731// func:amc.FPmaskfld.c_pmaskfld_member.Reserve
14732void                 c_pmaskfld_member_Reserve(amc::FPmaskfld& pmaskfld, u32 n) __attribute__((nothrow));
14733// Return reference without bounds checking
14734// func:amc.FPmaskfld.c_pmaskfld_member.qFind
14735amc::FPmaskfldMember& c_pmaskfld_member_qFind(amc::FPmaskfld& pmaskfld, u32 idx) __attribute__((nothrow));
14736// True if row is in any ptrary instance
14737// func:amc.FPmaskfld.c_pmaskfld_member.InAryQ
14738bool                 pmaskfld_c_pmaskfld_member_InAryQ(amc::FPmaskfldMember& row) __attribute__((nothrow));
14739// Reference to last element without bounds checking
14740// func:amc.FPmaskfld.c_pmaskfld_member.qLast
14741amc::FPmaskfldMember& c_pmaskfld_member_qLast(amc::FPmaskfld& pmaskfld) __attribute__((nothrow));
14742
14743// Set all fields to initial values.
14744// func:amc.FPmaskfld..Init
14745void                 FPmaskfld_Init(amc::FPmaskfld& pmaskfld);
14746// func:amc.FPmaskfld.c_pmaskfld_member_curs.Reset
14747void                 pmaskfld_c_pmaskfld_member_curs_Reset(pmaskfld_c_pmaskfld_member_curs &curs, amc::FPmaskfld &parent) __attribute__((nothrow));
14748// cursor points to valid item
14749// func:amc.FPmaskfld.c_pmaskfld_member_curs.ValidQ
14750bool                 pmaskfld_c_pmaskfld_member_curs_ValidQ(pmaskfld_c_pmaskfld_member_curs &curs) __attribute__((nothrow));
14751// proceed to next item
14752// func:amc.FPmaskfld.c_pmaskfld_member_curs.Next
14753void                 pmaskfld_c_pmaskfld_member_curs_Next(pmaskfld_c_pmaskfld_member_curs &curs) __attribute__((nothrow));
14754// item access
14755// func:amc.FPmaskfld.c_pmaskfld_member_curs.Access
14756amc::FPmaskfldMember& pmaskfld_c_pmaskfld_member_curs_Access(pmaskfld_c_pmaskfld_member_curs &curs) __attribute__((nothrow));
14757// func:amc.FPmaskfld..Uninit
14758void                 FPmaskfld_Uninit(amc::FPmaskfld& pmaskfld) __attribute__((nothrow));
14759
14760// --- amc.FPmaskfldMember
14761// create: amc.FDb.pmaskfld_member (Lary)
14762// access: amc.FField.c_pmaskfld_member (Ptrary)
14763// access: amc.FPmaskfld.c_pmaskfld_member (Ptrary)
14764struct FPmaskfldMember { // amc.FPmaskfldMember
14765    algo::Smallstr100   pmaskfld_member;                     //
14766    algo::Comment       comment;                             //
14767    u32                 bit;                                 //   0
14768    amc::FField*        p_field;                             // reference to parent row
14769    amc::FPmaskfld*     p_pmaskfld;                          // reference to parent row
14770    bool                field_c_pmaskfld_member_in_ary;      //   false  membership flag
14771    bool                pmaskfld_c_pmaskfld_member_in_ary;   //   false  membership flag
14772private:
14773    friend amc::FPmaskfldMember& pmaskfld_member_Alloc() __attribute__((__warn_unused_result__, nothrow));
14774    friend amc::FPmaskfldMember* pmaskfld_member_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14775    friend void                 pmaskfld_member_RemoveAll() __attribute__((nothrow));
14776    friend void                 pmaskfld_member_RemoveLast() __attribute__((nothrow));
14777    FPmaskfldMember();
14778    ~FPmaskfldMember();
14779    FPmaskfldMember(const FPmaskfldMember&){ /*disallow copy constructor */}
14780    void operator =(const FPmaskfldMember&){ /*disallow direct assignment */}
14781};
14782
14783// Copy fields out of row
14784// func:amc.FPmaskfldMember.base.CopyOut
14785void                 pmaskfld_member_CopyOut(amc::FPmaskfldMember &row, dmmeta::PmaskfldMember &out) __attribute__((nothrow));
14786// Copy fields in to row
14787// func:amc.FPmaskfldMember.base.CopyIn
14788void                 pmaskfld_member_CopyIn(amc::FPmaskfldMember &row, dmmeta::PmaskfldMember &in) __attribute__((nothrow));
14789
14790// func:amc.FPmaskfldMember.pmaskfld.Get
14791algo::Smallstr100    pmaskfld_Get(amc::FPmaskfldMember& pmaskfld_member) __attribute__((__warn_unused_result__, nothrow));
14792
14793// func:amc.FPmaskfldMember.field.Get
14794algo::Smallstr100    field_Get(amc::FPmaskfldMember& pmaskfld_member) __attribute__((__warn_unused_result__, nothrow));
14795
14796// Set all fields to initial values.
14797// func:amc.FPmaskfldMember..Init
14798void                 FPmaskfldMember_Init(amc::FPmaskfldMember& pmaskfld_member);
14799// func:amc.FPmaskfldMember..Uninit
14800void                 FPmaskfldMember_Uninit(amc::FPmaskfldMember& pmaskfld_member) __attribute__((nothrow));
14801
14802// --- amc.FPnew
14803// create: amc.FDb.pnew (Lary)
14804// global access: ind_pnew (Thash)
14805// access: amc.FNs.c_pnew (Ptrary)
14806struct FPnew { // amc.FPnew
14807    amc::FPnew*         ind_pnew_next;      // hash next
14808    algo::Smallstr100   pnew;               //
14809    amc::FCtype*        p_ctype;            // reference to parent row
14810    amc::FNs*           p_ns;               // reference to parent row
14811    bool                ns_c_pnew_in_ary;   //   false  membership flag
14812private:
14813    friend amc::FPnew&          pnew_Alloc() __attribute__((__warn_unused_result__, nothrow));
14814    friend amc::FPnew*          pnew_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14815    friend void                 pnew_RemoveLast() __attribute__((nothrow));
14816    FPnew();
14817    ~FPnew();
14818    FPnew(const FPnew&){ /*disallow copy constructor */}
14819    void operator =(const FPnew&){ /*disallow direct assignment */}
14820};
14821
14822// Copy fields out of row
14823// func:amc.FPnew.msghdr.CopyOut
14824void                 pnew_CopyOut(amc::FPnew &row, dmmeta::Pnew &out) __attribute__((nothrow));
14825// Copy fields in to row
14826// func:amc.FPnew.msghdr.CopyIn
14827void                 pnew_CopyIn(amc::FPnew &row, dmmeta::Pnew &in) __attribute__((nothrow));
14828
14829// func:amc.FPnew.ns.Get
14830algo::Smallstr16     ns_Get(amc::FPnew& pnew) __attribute__((__warn_unused_result__, nothrow));
14831
14832// func:amc.FPnew.ctype.Get
14833algo::Smallstr100    ctype_Get(amc::FPnew& pnew) __attribute__((__warn_unused_result__, nothrow));
14834
14835// func:amc.FPnew.buftype.Get
14836algo::Smallstr50     buftype_Get(amc::FPnew& pnew) __attribute__((__warn_unused_result__, nothrow));
14837
14838// Set all fields to initial values.
14839// func:amc.FPnew..Init
14840void                 FPnew_Init(amc::FPnew& pnew);
14841// func:amc.FPnew..Uninit
14842void                 FPnew_Uninit(amc::FPnew& pnew) __attribute__((nothrow));
14843
14844// --- amc.FPtrary
14845// create: amc.FDb.ptrary (Lary)
14846// access: amc.FField.c_ptrary (Ptr)
14847struct FPtrary { // amc.FPtrary
14848    algo::Smallstr100   field;     //
14849    bool                unique;    //   false  Search for and ignore duplicates
14850    amc::FField*        p_field;   // reference to parent row
14851private:
14852    friend amc::FPtrary&        ptrary_Alloc() __attribute__((__warn_unused_result__, nothrow));
14853    friend amc::FPtrary*        ptrary_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14854    friend void                 ptrary_RemoveLast() __attribute__((nothrow));
14855    FPtrary();
14856    ~FPtrary();
14857    FPtrary(const FPtrary&){ /*disallow copy constructor */}
14858    void operator =(const FPtrary&){ /*disallow direct assignment */}
14859};
14860
14861// Copy fields out of row
14862// func:amc.FPtrary.msghdr.CopyOut
14863void                 ptrary_CopyOut(amc::FPtrary &row, dmmeta::Ptrary &out) __attribute__((nothrow));
14864// Copy fields in to row
14865// func:amc.FPtrary.msghdr.CopyIn
14866void                 ptrary_CopyIn(amc::FPtrary &row, dmmeta::Ptrary &in) __attribute__((nothrow));
14867
14868// Set all fields to initial values.
14869// func:amc.FPtrary..Init
14870void                 FPtrary_Init(amc::FPtrary& ptrary);
14871// func:amc.FPtrary..Uninit
14872void                 FPtrary_Uninit(amc::FPtrary& ptrary) __attribute__((nothrow));
14873
14874// --- amc.FReftype
14875// create: amc.FDb.reftype (Lary)
14876// global access: ind_reftype (Thash)
14877// access: amc.FField.p_reftype (Upptr)
14878struct FReftype { // amc.FReftype
14879    amc::FReftype*     ind_reftype_next;   // hash next
14880    algo::Smallstr50   reftype;            //   "Val"
14881    bool               isval;              //   false  True if field makes values of target type
14882    bool               cascins;            //   false  Field is cascade-insert
14883    bool               usebasepool;        //   false  Fields with this type make use of dmmeta.basepool
14884    bool               cancopy;            //   false  This type of field can be copied
14885    bool               isxref;             //   false  This type of field is an x-ref
14886    bool               del;                //   false  Supports random deletion?
14887    bool               up;                 //   false  This type of field is a reference
14888    bool               isnew;              //   false  If set, skip this relation in amc_vis
14889    bool               hasalloc;           //   false  Generte Alloc/Delete functions for arg type
14890    bool               inst;               //   false  Field creates an instance of arg type (directly or indirectly)
14891    bool               varlen;             //   false  This pool supports varlen allocations
14892    i32                rowid;              //   0
14893    amc::FTclass*      p_tclass;           // reference to parent row
14894    amc::FFprefix*     zs_fprefix_head;    // zero-terminated singly linked list
14895    amc::FFprefix*     zs_fprefix_tail;    // pointer to last element
14896private:
14897    friend amc::FReftype&       reftype_Alloc() __attribute__((__warn_unused_result__, nothrow));
14898    friend amc::FReftype*       reftype_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14899    friend void                 reftype_RemoveAll() __attribute__((nothrow));
14900    friend void                 reftype_RemoveLast() __attribute__((nothrow));
14901    FReftype();
14902    ~FReftype();
14903    FReftype(const FReftype&){ /*disallow copy constructor */}
14904    void operator =(const FReftype&){ /*disallow direct assignment */}
14905};
14906
14907// Copy fields out of row
14908// func:amc.FReftype.msghdr.CopyOut
14909void                 reftype_CopyOut(amc::FReftype &row, dmmeta::Reftype &out) __attribute__((nothrow));
14910// Copy fields in to row
14911// func:amc.FReftype.msghdr.CopyIn
14912void                 reftype_CopyIn(amc::FReftype &row, dmmeta::Reftype &in) __attribute__((nothrow));
14913
14914// Return true if index is empty
14915// func:amc.FReftype.zs_fprefix.EmptyQ
14916bool                 zs_fprefix_EmptyQ(amc::FReftype& reftype) __attribute__((__warn_unused_result__, nothrow, pure));
14917// If index empty, return NULL. Otherwise return pointer to first element in index
14918// func:amc.FReftype.zs_fprefix.First
14919amc::FFprefix*       zs_fprefix_First(amc::FReftype& reftype) __attribute__((__warn_unused_result__, nothrow, pure));
14920// Return true if row is in the linked list, false otherwise
14921// func:amc.FReftype.zs_fprefix.InLlistQ
14922bool                 zs_fprefix_InLlistQ(amc::FFprefix& row) __attribute__((__warn_unused_result__, nothrow));
14923// Insert row into linked list. If row is already in linked list, do nothing.
14924// func:amc.FReftype.zs_fprefix.Insert
14925void                 zs_fprefix_Insert(amc::FReftype& reftype, amc::FFprefix& row) __attribute__((nothrow));
14926// If index empty, return NULL. Otherwise return pointer to last element in index
14927// func:amc.FReftype.zs_fprefix.Last
14928amc::FFprefix*       zs_fprefix_Last(amc::FReftype& reftype) __attribute__((__warn_unused_result__, nothrow, pure));
14929// Return pointer to next element in the list
14930// func:amc.FReftype.zs_fprefix.Next
14931amc::FFprefix*       zs_fprefix_Next(amc::FFprefix &row) __attribute__((__warn_unused_result__, nothrow));
14932// Remove element from index. If element is not in index, do nothing.
14933// Since the list is singly-linked, use linear search to locate the element.
14934// func:amc.FReftype.zs_fprefix.Remove
14935void                 zs_fprefix_Remove(amc::FReftype& reftype, amc::FFprefix& row) __attribute__((nothrow));
14936// Empty the index. (The rows are not deleted)
14937// func:amc.FReftype.zs_fprefix.RemoveAll
14938void                 zs_fprefix_RemoveAll(amc::FReftype& reftype) __attribute__((nothrow));
14939// If linked list is empty, return NULL. Otherwise unlink and return pointer to first element.
14940// func:amc.FReftype.zs_fprefix.RemoveFirst
14941amc::FFprefix*       zs_fprefix_RemoveFirst(amc::FReftype& reftype) __attribute__((nothrow));
14942// Return reference to last element in the index. No bounds checking.
14943// func:amc.FReftype.zs_fprefix.qLast
14944amc::FFprefix&       zs_fprefix_qLast(amc::FReftype& reftype) __attribute__((__warn_unused_result__, nothrow));
14945
14946// Set all fields to initial values.
14947// func:amc.FReftype..Init
14948void                 FReftype_Init(amc::FReftype& reftype);
14949// cursor points to valid item
14950// func:amc.FReftype.zs_fprefix_curs.Reset
14951void                 reftype_zs_fprefix_curs_Reset(reftype_zs_fprefix_curs &curs, amc::FReftype &parent) __attribute__((nothrow));
14952// cursor points to valid item
14953// func:amc.FReftype.zs_fprefix_curs.ValidQ
14954bool                 reftype_zs_fprefix_curs_ValidQ(reftype_zs_fprefix_curs &curs) __attribute__((nothrow));
14955// proceed to next item
14956// func:amc.FReftype.zs_fprefix_curs.Next
14957void                 reftype_zs_fprefix_curs_Next(reftype_zs_fprefix_curs &curs) __attribute__((nothrow));
14958// item access
14959// func:amc.FReftype.zs_fprefix_curs.Access
14960amc::FFprefix&       reftype_zs_fprefix_curs_Access(reftype_zs_fprefix_curs &curs) __attribute__((nothrow));
14961// func:amc.FReftype..Uninit
14962void                 FReftype_Uninit(amc::FReftype& reftype) __attribute__((nothrow));
14963
14964// --- amc.FRowid
14965// create: amc.FDb.rowid (Lary)
14966// global access: ind_rowid (Thash)
14967// access: amc.FField.c_rowid (Ptr)
14968struct FRowid { // amc.FRowid
14969    amc::FRowid*        ind_rowid_next;   // hash next
14970    algo::Smallstr100   field;            //
14971    algo::Comment       comment;          //
14972private:
14973    friend amc::FRowid&         rowid_Alloc() __attribute__((__warn_unused_result__, nothrow));
14974    friend amc::FRowid*         rowid_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
14975    friend void                 rowid_RemoveLast() __attribute__((nothrow));
14976    FRowid();
14977    ~FRowid();
14978    FRowid(const FRowid&){ /*disallow copy constructor */}
14979    void operator =(const FRowid&){ /*disallow direct assignment */}
14980};
14981
14982// Copy fields out of row
14983// func:amc.FRowid.msghdr.CopyOut
14984void                 rowid_CopyOut(amc::FRowid &row, dmmeta::Rowid &out) __attribute__((nothrow));
14985// Copy fields in to row
14986// func:amc.FRowid.msghdr.CopyIn
14987void                 rowid_CopyIn(amc::FRowid &row, dmmeta::Rowid &in) __attribute__((nothrow));
14988
14989// Set all fields to initial values.
14990// func:amc.FRowid..Init
14991void                 FRowid_Init(amc::FRowid& rowid);
14992// func:amc.FRowid..Uninit
14993void                 FRowid_Uninit(amc::FRowid& rowid) __attribute__((nothrow));
14994
14995// --- amc.FSmallstr
14996// create: amc.FDb.smallstr (Lary)
14997// global access: ind_smallstr (Thash)
14998// access: amc.FField.c_smallstr (Ptr)
14999struct FSmallstr { // amc.FSmallstr
15000    amc::FSmallstr*     ind_smallstr_next;   // hash next
15001    algo::Smallstr100   field;               //
15002    i32                 length;              //   0  Maximum characters in the string
15003    algo::Smallstr50    strtype;             // Data format for string
15004    algo::CppExpr       pad;                 // Pad character (if applicable)
15005    bool                strict;              //   false
15006    amc::FField*        p_field;             // reference to parent row
15007    amc::FNumstr*       c_numstr;            // optional pointer
15008private:
15009    friend amc::FSmallstr&      smallstr_Alloc() __attribute__((__warn_unused_result__, nothrow));
15010    friend amc::FSmallstr*      smallstr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15011    friend void                 smallstr_RemoveLast() __attribute__((nothrow));
15012    FSmallstr();
15013    ~FSmallstr();
15014    FSmallstr(const FSmallstr&){ /*disallow copy constructor */}
15015    void operator =(const FSmallstr&){ /*disallow direct assignment */}
15016};
15017
15018// Copy fields out of row
15019// func:amc.FSmallstr.msghdr.CopyOut
15020void                 smallstr_CopyOut(amc::FSmallstr &row, dmmeta::Smallstr &out) __attribute__((nothrow));
15021// Copy fields in to row
15022// func:amc.FSmallstr.msghdr.CopyIn
15023void                 smallstr_CopyIn(amc::FSmallstr &row, dmmeta::Smallstr &in) __attribute__((nothrow));
15024
15025// func:amc.FSmallstr.ctype.Get
15026algo::Smallstr100    ctype_Get(amc::FSmallstr& smallstr) __attribute__((__warn_unused_result__, nothrow));
15027
15028// Insert row into pointer index. Return final membership status.
15029// func:amc.FSmallstr.c_numstr.InsertMaybe
15030bool                 c_numstr_InsertMaybe(amc::FSmallstr& smallstr, amc::FNumstr& row) __attribute__((nothrow));
15031// Remove element from index. If element is not in index, do nothing.
15032// func:amc.FSmallstr.c_numstr.Remove
15033void                 c_numstr_Remove(amc::FSmallstr& smallstr, amc::FNumstr& row) __attribute__((nothrow));
15034
15035// Set all fields to initial values.
15036// func:amc.FSmallstr..Init
15037void                 FSmallstr_Init(amc::FSmallstr& smallstr);
15038// func:amc.FSmallstr..Uninit
15039void                 FSmallstr_Uninit(amc::FSmallstr& smallstr) __attribute__((nothrow));
15040
15041// --- amc.FSortfld
15042// create: amc.FDb.sortfld (Lary)
15043// access: amc.FField.c_sortfld (Ptr)
15044struct FSortfld { // amc.FSortfld
15045    algo::Smallstr100   field;       //
15046    algo::Smallstr100   sortfld;     // Field to sort by
15047    amc::FField*        p_sortfld;   // reference to parent row
15048private:
15049    friend amc::FSortfld&       sortfld_Alloc() __attribute__((__warn_unused_result__, nothrow));
15050    friend amc::FSortfld*       sortfld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15051    friend void                 sortfld_RemoveLast() __attribute__((nothrow));
15052    FSortfld();
15053    ~FSortfld();
15054    FSortfld(const FSortfld&){ /*disallow copy constructor */}
15055    void operator =(const FSortfld&){ /*disallow direct assignment */}
15056};
15057
15058// Copy fields out of row
15059// func:amc.FSortfld.msghdr.CopyOut
15060void                 sortfld_CopyOut(amc::FSortfld &row, dmmeta::Sortfld &out) __attribute__((nothrow));
15061// Copy fields in to row
15062// func:amc.FSortfld.msghdr.CopyIn
15063void                 sortfld_CopyIn(amc::FSortfld &row, dmmeta::Sortfld &in) __attribute__((nothrow));
15064
15065// Set all fields to initial values.
15066// func:amc.FSortfld..Init
15067void                 FSortfld_Init(amc::FSortfld& sortfld);
15068// func:amc.FSortfld..Uninit
15069void                 FSortfld_Uninit(amc::FSortfld& sortfld) __attribute__((nothrow));
15070
15071// --- amc.FSsimfile
15072// create: amc.FDb.ssimfile (Lary)
15073// global access: ind_ssimfile (Thash)
15074// global access: c_ssimfile_sorted (Ptrary)
15075// global access: zd_ssimfile_todo (Llist)
15076// access: amc.FCtype.c_ssimfile (Ptr)
15077// access: amc.FGsymbol.p_ssimfile (Upptr)
15078// access: amc.FSsimsort.p_ssimfile (Upptr)
15079struct FSsimfile { // amc.FSsimfile
15080    amc::FSsimfile*       ind_ssimfile_next;              // hash next
15081    amc::FSsimfile*       zd_ssimfile_todo_next;          // zslist link; -1 means not-in-list
15082    amc::FSsimfile*       zd_ssimfile_todo_prev;          // previous element
15083    algo::Smallstr50      ssimfile;                       //
15084    algo::Smallstr100     ctype;                          //
15085    algo::cstring         ssim;                           // Ssim content
15086    amc::FCtype*          p_ctype;                        // reference to parent row
15087    amc::FSsimvolatile*   c_ssimvolatile;                 // optional pointer
15088    bool                  topovisit;                      //   false
15089    i32                   topoindex;                      //   0
15090    bool                  input_select;                   //   false
15091    bool                  _db_c_ssimfile_sorted_in_ary;   //   false  membership flag
15092private:
15093    friend amc::FSsimfile&      ssimfile_Alloc() __attribute__((__warn_unused_result__, nothrow));
15094    friend amc::FSsimfile*      ssimfile_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15095    friend void                 ssimfile_RemoveLast() __attribute__((nothrow));
15096    FSsimfile();
15097    ~FSsimfile();
15098    FSsimfile(const FSsimfile&){ /*disallow copy constructor */}
15099    void operator =(const FSsimfile&){ /*disallow direct assignment */}
15100};
15101
15102// Copy fields out of row
15103// func:amc.FSsimfile.msghdr.CopyOut
15104void                 ssimfile_CopyOut(amc::FSsimfile &row, dmmeta::Ssimfile &out) __attribute__((nothrow));
15105// Copy fields in to row
15106// func:amc.FSsimfile.msghdr.CopyIn
15107void                 ssimfile_CopyIn(amc::FSsimfile &row, dmmeta::Ssimfile &in) __attribute__((nothrow));
15108
15109// func:amc.FSsimfile.ssimns.Get
15110algo::Smallstr16     ssimns_Get(amc::FSsimfile& ssimfile) __attribute__((__warn_unused_result__, nothrow));
15111
15112// func:amc.FSsimfile.ns.Get
15113algo::Smallstr16     ns_Get(amc::FSsimfile& ssimfile) __attribute__((__warn_unused_result__, nothrow));
15114
15115// func:amc.FSsimfile.name.Get
15116algo::Smallstr50     name_Get(amc::FSsimfile& ssimfile) __attribute__((__warn_unused_result__, nothrow));
15117
15118// Insert row into pointer index. Return final membership status.
15119// func:amc.FSsimfile.c_ssimvolatile.InsertMaybe
15120bool                 c_ssimvolatile_InsertMaybe(amc::FSsimfile& ssimfile, amc::FSsimvolatile& row) __attribute__((nothrow));
15121// Remove element from index. If element is not in index, do nothing.
15122// func:amc.FSsimfile.c_ssimvolatile.Remove
15123void                 c_ssimvolatile_Remove(amc::FSsimfile& ssimfile, amc::FSsimvolatile& row) __attribute__((nothrow));
15124
15125// Set all fields to initial values.
15126// func:amc.FSsimfile..Init
15127void                 FSsimfile_Init(amc::FSsimfile& ssimfile);
15128// func:amc.FSsimfile..Uninit
15129void                 FSsimfile_Uninit(amc::FSsimfile& ssimfile) __attribute__((nothrow));
15130
15131// --- amc.FSsimsort
15132// create: amc.FDb.ssimsort (Lary)
15133struct FSsimsort { // amc.FSsimsort
15134    algo::Smallstr50    ssimfile;     //
15135    algo::Smallstr100   sortfld;      //
15136    algo::Comment       comment;      //
15137    amc::FSsimfile*     p_ssimfile;   // reference to parent row
15138    amc::FField*        p_sortfld;    // reference to parent row
15139private:
15140    friend amc::FSsimsort&      ssimsort_Alloc() __attribute__((__warn_unused_result__, nothrow));
15141    friend amc::FSsimsort*      ssimsort_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15142    friend void                 ssimsort_RemoveAll() __attribute__((nothrow));
15143    friend void                 ssimsort_RemoveLast() __attribute__((nothrow));
15144    FSsimsort();
15145    // x-reference on amc.FSsimsort.p_ssimfile prevents copy
15146    // x-reference on amc.FSsimsort.p_sortfld prevents copy
15147    FSsimsort(const FSsimsort&){ /*disallow copy constructor */}
15148    void operator =(const FSsimsort&){ /*disallow direct assignment */}
15149};
15150
15151// Copy fields out of row
15152// func:amc.FSsimsort.base.CopyOut
15153void                 ssimsort_CopyOut(amc::FSsimsort &row, dmmeta::Ssimsort &out) __attribute__((nothrow));
15154// Copy fields in to row
15155// func:amc.FSsimsort.base.CopyIn
15156void                 ssimsort_CopyIn(amc::FSsimsort &row, dmmeta::Ssimsort &in) __attribute__((nothrow));
15157
15158// Set all fields to initial values.
15159// func:amc.FSsimsort..Init
15160void                 FSsimsort_Init(amc::FSsimsort& ssimsort);
15161
15162// --- amc.FSsimvolatile
15163// create: amc.FDb.ssimvolatile (Lary)
15164// access: amc.FSsimfile.c_ssimvolatile (Ptr)
15165struct FSsimvolatile { // amc.FSsimvolatile
15166    algo::Smallstr50   ssimfile;   //
15167    algo::Comment      comment;    //
15168private:
15169    friend amc::FSsimvolatile&  ssimvolatile_Alloc() __attribute__((__warn_unused_result__, nothrow));
15170    friend amc::FSsimvolatile*  ssimvolatile_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15171    friend void                 ssimvolatile_RemoveAll() __attribute__((nothrow));
15172    friend void                 ssimvolatile_RemoveLast() __attribute__((nothrow));
15173    FSsimvolatile();
15174    ~FSsimvolatile();
15175    FSsimvolatile(const FSsimvolatile&){ /*disallow copy constructor */}
15176    void operator =(const FSsimvolatile&){ /*disallow direct assignment */}
15177};
15178
15179// Copy fields out of row
15180// func:amc.FSsimvolatile.base.CopyOut
15181void                 ssimvolatile_CopyOut(amc::FSsimvolatile &row, dmmeta::Ssimvolatile &out) __attribute__((nothrow));
15182// Copy fields in to row
15183// func:amc.FSsimvolatile.base.CopyIn
15184void                 ssimvolatile_CopyIn(amc::FSsimvolatile &row, dmmeta::Ssimvolatile &in) __attribute__((nothrow));
15185
15186// func:amc.FSsimvolatile..Uninit
15187void                 FSsimvolatile_Uninit(amc::FSsimvolatile& ssimvolatile) __attribute__((nothrow));
15188
15189// --- amc.FStatictuple
15190// create: amc.FDb.static_tuple (Lary)
15191// access: amc.FCtype.c_static (Ptrary)
15192struct FStatictuple { // amc.FStatictuple
15193    algo::Smallstr100   ctype;                   //
15194    algo::Tuple         tuple;                   //
15195    algo::cstring       cppident;                //
15196    bool                ctype_c_static_in_ary;   //   false  membership flag
15197private:
15198    friend amc::FStatictuple&   static_tuple_Alloc() __attribute__((__warn_unused_result__, nothrow));
15199    friend amc::FStatictuple*   static_tuple_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15200    friend void                 static_tuple_RemoveAll() __attribute__((nothrow));
15201    friend void                 static_tuple_RemoveLast() __attribute__((nothrow));
15202    FStatictuple();
15203    ~FStatictuple();
15204    FStatictuple(const FStatictuple&){ /*disallow copy constructor */}
15205    void operator =(const FStatictuple&){ /*disallow direct assignment */}
15206};
15207
15208// Set all fields to initial values.
15209// func:amc.FStatictuple..Init
15210void                 FStatictuple_Init(amc::FStatictuple& static_tuple);
15211// func:amc.FStatictuple..Uninit
15212void                 FStatictuple_Uninit(amc::FStatictuple& static_tuple) __attribute__((nothrow));
15213
15214// --- amc.FSubstr
15215// create: amc.FDb.substr (Lary)
15216// global access: zd_substr_params (Llist)
15217// global access: c_substr_field (Ptrary)
15218// access: amc.FField.c_substr (Ptr)
15219struct FSubstr { // amc.FSubstr
15220    amc::FSubstr*       zd_substr_params_next;       // zslist link; -1 means not-in-list
15221    amc::FSubstr*       zd_substr_params_prev;       // previous element
15222    algo::Smallstr100   field;                       //
15223    algo::CppExpr       expr;                        //
15224    algo::Smallstr100   srcfield;                    //
15225    amc::FField*        p_field;                     // reference to parent row
15226    amc::FField*        p_srcfield;                  // reference to parent row
15227    u64                 range;                       //   0
15228    bool                _db_c_substr_field_in_ary;   //   false  membership flag
15229private:
15230    friend amc::FSubstr&        substr_Alloc() __attribute__((__warn_unused_result__, nothrow));
15231    friend amc::FSubstr*        substr_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15232    friend void                 substr_RemoveLast() __attribute__((nothrow));
15233    FSubstr();
15234    ~FSubstr();
15235    FSubstr(const FSubstr&){ /*disallow copy constructor */}
15236    void operator =(const FSubstr&){ /*disallow direct assignment */}
15237};
15238
15239// Copy fields out of row
15240// func:amc.FSubstr.msghdr.CopyOut
15241void                 substr_CopyOut(amc::FSubstr &row, dmmeta::Substr &out) __attribute__((nothrow));
15242// Copy fields in to row
15243// func:amc.FSubstr.msghdr.CopyIn
15244void                 substr_CopyIn(amc::FSubstr &row, dmmeta::Substr &in) __attribute__((nothrow));
15245
15246// Set all fields to initial values.
15247// func:amc.FSubstr..Init
15248void                 FSubstr_Init(amc::FSubstr& substr);
15249// func:amc.FSubstr..Uninit
15250void                 FSubstr_Uninit(amc::FSubstr& substr) __attribute__((nothrow));
15251
15252// --- amc.FTargdep
15253// create: amc.FDb.targdep (Lary)
15254// access: amc.FTarget.c_targdep (Ptrary)
15255struct FTargdep { // amc.FTargdep
15256    algo::Smallstr50   targdep;                   // Primary key - target.parent
15257    amc::FTarget*      p_target;                  // reference to parent row
15258    amc::FTarget*      p_parent;                  // reference to parent row
15259    bool               target_c_targdep_in_ary;   //   false  membership flag
15260private:
15261    friend amc::FTargdep&       targdep_Alloc() __attribute__((__warn_unused_result__, nothrow));
15262    friend amc::FTargdep*       targdep_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15263    friend void                 targdep_RemoveLast() __attribute__((nothrow));
15264    FTargdep();
15265    ~FTargdep();
15266    FTargdep(const FTargdep&){ /*disallow copy constructor */}
15267    void operator =(const FTargdep&){ /*disallow direct assignment */}
15268};
15269
15270// Copy fields out of row
15271// func:amc.FTargdep.msghdr.CopyOut
15272void                 targdep_CopyOut(amc::FTargdep &row, dev::Targdep &out) __attribute__((nothrow));
15273// Copy fields in to row
15274// func:amc.FTargdep.msghdr.CopyIn
15275void                 targdep_CopyIn(amc::FTargdep &row, dev::Targdep &in) __attribute__((nothrow));
15276
15277// func:amc.FTargdep.target.Get
15278algo::Smallstr16     target_Get(amc::FTargdep& targdep) __attribute__((__warn_unused_result__, nothrow));
15279
15280// func:amc.FTargdep.parent.Get
15281algo::Smallstr16     parent_Get(amc::FTargdep& targdep) __attribute__((__warn_unused_result__, nothrow));
15282
15283// Set all fields to initial values.
15284// func:amc.FTargdep..Init
15285void                 FTargdep_Init(amc::FTargdep& targdep);
15286// func:amc.FTargdep..Uninit
15287void                 FTargdep_Uninit(amc::FTargdep& targdep) __attribute__((nothrow));
15288
15289// --- amc.FTarget
15290// create: amc.FDb.target (Lary)
15291// global access: ind_target (Thash)
15292// access: amc.FNs.c_target (Ptr)
15293// access: amc.FTargdep.p_target (Upptr)
15294// access: amc.FTargdep.p_parent (Upptr)
15295struct FTarget { // amc.FTarget
15296    amc::FTarget*      ind_target_next;   // hash next
15297    algo::Smallstr16   target;            // Primary key - name of target
15298    amc::FTargdep**    c_targdep_elems;   // array of pointers
15299    u32                c_targdep_n;       // array of pointers
15300    u32                c_targdep_max;     // capacity of allocated array
15301    amc::FNs*          p_ns;              // reference to parent row
15302private:
15303    friend amc::FTarget&        target_Alloc() __attribute__((__warn_unused_result__, nothrow));
15304    friend amc::FTarget*        target_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15305    friend void                 target_RemoveLast() __attribute__((nothrow));
15306    FTarget();
15307    ~FTarget();
15308    FTarget(const FTarget&){ /*disallow copy constructor */}
15309    void operator =(const FTarget&){ /*disallow direct assignment */}
15310};
15311
15312// Copy fields out of row
15313// func:amc.FTarget.msghdr.CopyOut
15314void                 target_CopyOut(amc::FTarget &row, dev::Target &out) __attribute__((nothrow));
15315// Copy fields in to row
15316// func:amc.FTarget.msghdr.CopyIn
15317void                 target_CopyIn(amc::FTarget &row, dev::Target &in) __attribute__((nothrow));
15318
15319// Return true if index is empty
15320// func:amc.FTarget.c_targdep.EmptyQ
15321bool                 c_targdep_EmptyQ(amc::FTarget& target) __attribute__((nothrow));
15322// Look up row by row id. Return NULL if out of range
15323// func:amc.FTarget.c_targdep.Find
15324amc::FTargdep*       c_targdep_Find(amc::FTarget& target, u32 t) __attribute__((__warn_unused_result__, nothrow));
15325// Return array of pointers
15326// func:amc.FTarget.c_targdep.Getary
15327algo::aryptr<amc::FTargdep*> c_targdep_Getary(amc::FTarget& target) __attribute__((nothrow));
15328// Insert pointer to row into array. Row must not already be in array.
15329// If pointer is already in the array, it may be inserted twice.
15330// func:amc.FTarget.c_targdep.Insert
15331void                 c_targdep_Insert(amc::FTarget& target, amc::FTargdep& row) __attribute__((nothrow));
15332// Insert pointer to row in array.
15333// If row is already in the array, do nothing.
15334// Return value: whether element was inserted into array.
15335// func:amc.FTarget.c_targdep.InsertMaybe
15336bool                 c_targdep_InsertMaybe(amc::FTarget& target, amc::FTargdep& row) __attribute__((nothrow));
15337// Return number of items in the pointer array
15338// func:amc.FTarget.c_targdep.N
15339i32                  c_targdep_N(const amc::FTarget& target) __attribute__((__warn_unused_result__, nothrow, pure));
15340// Find element using linear scan. If element is in array, remove, otherwise do nothing
15341// func:amc.FTarget.c_targdep.Remove
15342void                 c_targdep_Remove(amc::FTarget& target, amc::FTargdep& row) __attribute__((nothrow));
15343// Empty the index. (The rows are not deleted)
15344// func:amc.FTarget.c_targdep.RemoveAll
15345void                 c_targdep_RemoveAll(amc::FTarget& target) __attribute__((nothrow));
15346// Reserve space in index for N more elements;
15347// func:amc.FTarget.c_targdep.Reserve
15348void                 c_targdep_Reserve(amc::FTarget& target, u32 n) __attribute__((nothrow));
15349// Return reference without bounds checking
15350// func:amc.FTarget.c_targdep.qFind
15351amc::FTargdep&       c_targdep_qFind(amc::FTarget& target, u32 idx) __attribute__((nothrow));
15352// True if row is in any ptrary instance
15353// func:amc.FTarget.c_targdep.InAryQ
15354bool                 target_c_targdep_InAryQ(amc::FTargdep& row) __attribute__((nothrow));
15355// Reference to last element without bounds checking
15356// func:amc.FTarget.c_targdep.qLast
15357amc::FTargdep&       c_targdep_qLast(amc::FTarget& target) __attribute__((nothrow));
15358
15359// Set all fields to initial values.
15360// func:amc.FTarget..Init
15361void                 FTarget_Init(amc::FTarget& target);
15362// func:amc.FTarget.c_targdep_curs.Reset
15363void                 target_c_targdep_curs_Reset(target_c_targdep_curs &curs, amc::FTarget &parent) __attribute__((nothrow));
15364// cursor points to valid item
15365// func:amc.FTarget.c_targdep_curs.ValidQ
15366bool                 target_c_targdep_curs_ValidQ(target_c_targdep_curs &curs) __attribute__((nothrow));
15367// proceed to next item
15368// func:amc.FTarget.c_targdep_curs.Next
15369void                 target_c_targdep_curs_Next(target_c_targdep_curs &curs) __attribute__((nothrow));
15370// item access
15371// func:amc.FTarget.c_targdep_curs.Access
15372amc::FTargdep&       target_c_targdep_curs_Access(target_c_targdep_curs &curs) __attribute__((nothrow));
15373// func:amc.FTarget..Uninit
15374void                 FTarget_Uninit(amc::FTarget& target) __attribute__((nothrow));
15375
15376// --- amc.FTary
15377// create: amc.FDb.tary (Lary)
15378// global access: ind_tary (Thash)
15379// access: amc.FField.c_tary (Ptr)
15380struct FTary { // amc.FTary
15381    amc::FTary*         ind_tary_next;   // hash next
15382    algo::Smallstr100   field;           //
15383    bool                aliased;         //   false  Geneate functions to copy from aryptr
15384    amc::FField*        p_field;         // reference to parent row
15385private:
15386    friend amc::FTary&          tary_Alloc() __attribute__((__warn_unused_result__, nothrow));
15387    friend amc::FTary*          tary_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15388    friend void                 tary_RemoveLast() __attribute__((nothrow));
15389    FTary();
15390    ~FTary();
15391    FTary(const FTary&){ /*disallow copy constructor */}
15392    void operator =(const FTary&){ /*disallow direct assignment */}
15393};
15394
15395// Copy fields out of row
15396// func:amc.FTary.msghdr.CopyOut
15397void                 tary_CopyOut(amc::FTary &row, dmmeta::Tary &out) __attribute__((nothrow));
15398// Copy fields in to row
15399// func:amc.FTary.msghdr.CopyIn
15400void                 tary_CopyIn(amc::FTary &row, dmmeta::Tary &in) __attribute__((nothrow));
15401
15402// Set all fields to initial values.
15403// func:amc.FTary..Init
15404void                 FTary_Init(amc::FTary& tary);
15405// func:amc.FTary..Uninit
15406void                 FTary_Uninit(amc::FTary& tary) __attribute__((nothrow));
15407
15408// --- amc.FTcurs
15409// create: amc.FDb.tcurs (Lary)
15410// access: amc.FTfunc.c_tcurs (Ptr)
15411struct FTcurs { // amc.FTcurs
15412    algo::Smallstr50   tfunc;     //
15413    bool               dflt;      //   false  Generate cursor by default? (if not, require fcurs)
15414    algo::Comment      comment;   //
15415private:
15416    friend amc::FTcurs&         tcurs_Alloc() __attribute__((__warn_unused_result__, nothrow));
15417    friend amc::FTcurs*         tcurs_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15418    friend void                 tcurs_RemoveAll() __attribute__((nothrow));
15419    friend void                 tcurs_RemoveLast() __attribute__((nothrow));
15420    FTcurs();
15421    ~FTcurs();
15422    FTcurs(const FTcurs&){ /*disallow copy constructor */}
15423    void operator =(const FTcurs&){ /*disallow direct assignment */}
15424};
15425
15426// Copy fields out of row
15427// func:amc.FTcurs.base.CopyOut
15428void                 tcurs_CopyOut(amc::FTcurs &row, amcdb::Tcurs &out) __attribute__((nothrow));
15429// Copy fields in to row
15430// func:amc.FTcurs.base.CopyIn
15431void                 tcurs_CopyIn(amc::FTcurs &row, amcdb::Tcurs &in) __attribute__((nothrow));
15432
15433// func:amc.FTcurs.curstype.Get
15434algo::Smallstr50     curstype_Get(amc::FTcurs& tcurs) __attribute__((__warn_unused_result__, nothrow));
15435
15436// Set all fields to initial values.
15437// func:amc.FTcurs..Init
15438void                 FTcurs_Init(amc::FTcurs& tcurs);
15439// func:amc.FTcurs..Uninit
15440void                 FTcurs_Uninit(amc::FTcurs& tcurs) __attribute__((nothrow));
15441
15442// --- amc.FTfunc
15443// create: amc.FDb.tfunc (Lary)
15444// global access: ind_tfunc (Thash)
15445// access: amc.FTclass.c_tfunc (Ptrary)
15446// access: amc.Genctx.p_tfunc (Upptr)
15447struct FTfunc { // amc.FTfunc
15448    amc::FTfunc*           ind_tfunc_next;          // hash next
15449    algo::Smallstr50       tfunc;                   //
15450    bool                   hasthrow;                //   false  Important defaults for new tfuncs to work
15451    bool                   leaf;                    //   true  Important defaults for new tfuncs to work
15452    bool                   poolfunc;                //   false
15453    bool                   inl;                     //   false  Function is typically inline
15454    bool                   wur;                     //   false  Warn unused result
15455    bool                   pure;                    //   false  OK to call fewer times than specified in text
15456    bool                   ismacro;                 //   false
15457    algo::Comment          comment;                 //
15458    amc::tfunc_step_hook   step;                    //   NULL  Pointer to a function
15459    amc::FTcurs*           c_tcurs;                 // optional pointer
15460    bool                   tclass_c_tfunc_in_ary;   //   false  membership flag
15461private:
15462    friend amc::FTfunc&         tfunc_Alloc() __attribute__((__warn_unused_result__, nothrow));
15463    friend amc::FTfunc*         tfunc_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15464    friend void                 tfunc_RemoveAll() __attribute__((nothrow));
15465    friend void                 tfunc_RemoveLast() __attribute__((nothrow));
15466    FTfunc();
15467    ~FTfunc();
15468    FTfunc(const FTfunc&){ /*disallow copy constructor */}
15469    void operator =(const FTfunc&){ /*disallow direct assignment */}
15470};
15471
15472// Copy fields out of row
15473// func:amc.FTfunc.msghdr.CopyOut
15474void                 tfunc_CopyOut(amc::FTfunc &row, amcdb::Tfunc &out) __attribute__((nothrow));
15475// Copy fields in to row
15476// func:amc.FTfunc.msghdr.CopyIn
15477void                 tfunc_CopyIn(amc::FTfunc &row, amcdb::Tfunc &in) __attribute__((nothrow));
15478
15479// func:amc.FTfunc.tclass.Get
15480algo::Smallstr50     tclass_Get(amc::FTfunc& tfunc) __attribute__((__warn_unused_result__, nothrow));
15481
15482// func:amc.FTfunc.name.Get
15483algo::Smallstr50     name_Get(amc::FTfunc& tfunc) __attribute__((__warn_unused_result__, nothrow));
15484
15485// Invoke function by pointer
15486// func:amc.FTfunc.step.Call
15487void                 step_Call(amc::FTfunc& tfunc) __attribute__((nothrow));
15488
15489// Insert row into pointer index. Return final membership status.
15490// func:amc.FTfunc.c_tcurs.InsertMaybe
15491bool                 c_tcurs_InsertMaybe(amc::FTfunc& tfunc, amc::FTcurs& row) __attribute__((nothrow));
15492// Remove element from index. If element is not in index, do nothing.
15493// func:amc.FTfunc.c_tcurs.Remove
15494void                 c_tcurs_Remove(amc::FTfunc& tfunc, amc::FTcurs& row) __attribute__((nothrow));
15495
15496// Set all fields to initial values.
15497// func:amc.FTfunc..Init
15498void                 FTfunc_Init(amc::FTfunc& tfunc);
15499// func:amc.FTfunc..Uninit
15500void                 FTfunc_Uninit(amc::FTfunc& tfunc) __attribute__((nothrow));
15501
15502// --- amc.FThash
15503// create: amc.FDb.thash (Lary)
15504// access: amc.FField.c_thash (Ptr)
15505struct FThash { // amc.FThash
15506    algo::Smallstr100   field;       //
15507    algo::Smallstr100   hashfld;     // Field on which hash function is computed
15508    bool                unique;      //   true  Enforce uniqueness of member elements
15509    amc::FField*        p_hashfld;   // reference to parent row
15510    amc::FField*        p_field;     // reference to parent row
15511private:
15512    friend amc::FThash&         thash_Alloc() __attribute__((__warn_unused_result__, nothrow));
15513    friend amc::FThash*         thash_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15514    friend void                 thash_RemoveLast() __attribute__((nothrow));
15515    FThash();
15516    ~FThash();
15517    FThash(const FThash&){ /*disallow copy constructor */}
15518    void operator =(const FThash&){ /*disallow direct assignment */}
15519};
15520
15521// Copy fields out of row
15522// func:amc.FThash.msghdr.CopyOut
15523void                 thash_CopyOut(amc::FThash &row, dmmeta::Thash &out) __attribute__((nothrow));
15524// Copy fields in to row
15525// func:amc.FThash.msghdr.CopyIn
15526void                 thash_CopyIn(amc::FThash &row, dmmeta::Thash &in) __attribute__((nothrow));
15527
15528// Set all fields to initial values.
15529// func:amc.FThash..Init
15530void                 FThash_Init(amc::FThash& thash);
15531// func:amc.FThash..Uninit
15532void                 FThash_Uninit(amc::FThash& thash) __attribute__((nothrow));
15533
15534// --- amc.FTracefld
15535// create: amc.FDb.tracefld (Lary)
15536struct FTracefld { // amc.FTracefld
15537    algo::Smallstr100   tracefld;   //
15538    algo::Comment       comment;    //
15539private:
15540    friend amc::FTracefld&      tracefld_Alloc() __attribute__((__warn_unused_result__, nothrow));
15541    friend amc::FTracefld*      tracefld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15542    friend void                 tracefld_RemoveAll() __attribute__((nothrow));
15543    friend void                 tracefld_RemoveLast() __attribute__((nothrow));
15544    FTracefld();
15545};
15546
15547// Copy fields out of row
15548// func:amc.FTracefld.msghdr.CopyOut
15549void                 tracefld_CopyOut(amc::FTracefld &row, dmmeta::Tracefld &out) __attribute__((nothrow));
15550// Copy fields in to row
15551// func:amc.FTracefld.msghdr.CopyIn
15552void                 tracefld_CopyIn(amc::FTracefld &row, dmmeta::Tracefld &in) __attribute__((nothrow));
15553
15554// func:amc.FTracefld.tracerec.Get
15555algo::Smallstr50     tracerec_Get(amc::FTracefld& tracefld) __attribute__((__warn_unused_result__, nothrow));
15556
15557// func:amc.FTracefld.name.Get
15558algo::Smallstr50     name_Get(amc::FTracefld& tracefld) __attribute__((__warn_unused_result__, nothrow));
15559
15560
15561// --- amc.FTracerec
15562// create: amc.FDb.tracerec (Lary)
15563struct FTracerec { // amc.FTracerec
15564    algo::Smallstr50   tracerec;   // e.g. rl_lib.trace
15565    algo::Comment      comment;    //
15566private:
15567    friend amc::FTracerec&      tracerec_Alloc() __attribute__((__warn_unused_result__, nothrow));
15568    friend amc::FTracerec*      tracerec_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15569    friend void                 tracerec_RemoveAll() __attribute__((nothrow));
15570    friend void                 tracerec_RemoveLast() __attribute__((nothrow));
15571    FTracerec();
15572};
15573
15574// Copy fields out of row
15575// func:amc.FTracerec.msghdr.CopyOut
15576void                 tracerec_CopyOut(amc::FTracerec &row, dmmeta::Tracerec &out) __attribute__((nothrow));
15577// Copy fields in to row
15578// func:amc.FTracerec.msghdr.CopyIn
15579void                 tracerec_CopyIn(amc::FTracerec &row, dmmeta::Tracerec &in) __attribute__((nothrow));
15580
15581// func:amc.FTracerec.name.Get
15582algo::Smallstr50     name_Get(amc::FTracerec& tracerec) __attribute__((__warn_unused_result__, nothrow));
15583
15584// func:amc.FTracerec.ns.Get
15585algo::Smallstr16     ns_Get(amc::FTracerec& tracerec) __attribute__((__warn_unused_result__, nothrow));
15586
15587
15588// --- amc.FTypefld
15589// create: amc.FDb.typefld (Lary)
15590// access: amc.FCtype.c_typefld (Ptr)
15591// access: amc.FField.c_typefld (Ptr)
15592struct FTypefld { // amc.FTypefld
15593    algo::Smallstr100   field;     //
15594    algo::Comment       comment;   //
15595    amc::FField*        p_field;   // reference to parent row
15596    amc::FCtype*        p_ctype;   // reference to parent row
15597private:
15598    friend amc::FTypefld&       typefld_Alloc() __attribute__((__warn_unused_result__, nothrow));
15599    friend amc::FTypefld*       typefld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15600    friend void                 typefld_RemoveLast() __attribute__((nothrow));
15601    FTypefld();
15602    ~FTypefld();
15603    FTypefld(const FTypefld&){ /*disallow copy constructor */}
15604    void operator =(const FTypefld&){ /*disallow direct assignment */}
15605};
15606
15607// Copy fields out of row
15608// func:amc.FTypefld.msghdr.CopyOut
15609void                 typefld_CopyOut(amc::FTypefld &row, dmmeta::Typefld &out) __attribute__((nothrow));
15610// Copy fields in to row
15611// func:amc.FTypefld.msghdr.CopyIn
15612void                 typefld_CopyIn(amc::FTypefld &row, dmmeta::Typefld &in) __attribute__((nothrow));
15613
15614// func:amc.FTypefld.ctype.Get
15615algo::Smallstr100    ctype_Get(amc::FTypefld& typefld) __attribute__((__warn_unused_result__, nothrow));
15616
15617// Set all fields to initial values.
15618// func:amc.FTypefld..Init
15619void                 FTypefld_Init(amc::FTypefld& typefld);
15620// func:amc.FTypefld..Uninit
15621void                 FTypefld_Uninit(amc::FTypefld& typefld) __attribute__((nothrow));
15622
15623// --- amc.FUsertracefld
15624// create: amc.FDb.usertracefld (Lary)
15625struct FUsertracefld { // amc.FUsertracefld
15626    algo::Smallstr100   tracefld;   //
15627    algo::Comment       comment;    //
15628private:
15629    friend amc::FUsertracefld&  usertracefld_Alloc() __attribute__((__warn_unused_result__, nothrow));
15630    friend amc::FUsertracefld*  usertracefld_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15631    friend void                 usertracefld_RemoveLast() __attribute__((nothrow));
15632    FUsertracefld();
15633};
15634
15635// Copy fields out of row
15636// func:amc.FUsertracefld.msghdr.CopyOut
15637void                 usertracefld_CopyOut(amc::FUsertracefld &row, dmmeta::Usertracefld &out) __attribute__((nothrow));
15638// Copy fields in to row
15639// func:amc.FUsertracefld.msghdr.CopyIn
15640void                 usertracefld_CopyIn(amc::FUsertracefld &row, dmmeta::Usertracefld &in) __attribute__((nothrow));
15641
15642
15643// --- amc.FXref
15644// create: amc.FDb.xref (Lary)
15645// global access: ind_xref (Thash)
15646// access: amc.FCtype.zs_xref (Llist)
15647// access: amc.FField.c_xref (Ptr)
15648// access: amc.FField.zd_xref_keyfld (Llist)
15649struct FXref { // amc.FXref
15650    amc::FXref*         zs_xref_next;          // zslist link; -1 means not-in-list
15651    amc::FXref*         ind_xref_next;         // hash next
15652    amc::FXref*         zd_xref_keyfld_next;   // zslist link; -1 means not-in-list
15653    amc::FXref*         zd_xref_keyfld_prev;   // previous element
15654    algo::Smallstr100   field;                 //
15655    algo::CppExpr       inscond;               //   "true"  Insert condition
15656    algo::Smallstr200   via;                   //
15657    amc::FField*        p_field;               // reference to parent row
15658    amc::FCtype*        p_ctype;               // reference to parent row
15659    amc::FNocascdel*    c_nocascdel;           // optional pointer
15660    amc::FField*        p_viafld;              // reference to parent row
15661    amc::FField*        p_keyfld;              // reference to parent row
15662private:
15663    friend amc::FXref&          xref_Alloc() __attribute__((__warn_unused_result__, nothrow));
15664    friend amc::FXref*          xref_AllocMaybe() __attribute__((__warn_unused_result__, nothrow));
15665    friend void                 xref_RemoveLast() __attribute__((nothrow));
15666    FXref();
15667    ~FXref();
15668    FXref(const FXref&){ /*disallow copy constructor */}
15669    void operator =(const FXref&){ /*disallow direct assignment */}
15670};
15671
15672// Copy fields out of row
15673// func:amc.FXref.msghdr.CopyOut
15674void                 xref_CopyOut(amc::FXref &row, dmmeta::Xref &out) __attribute__((nothrow));
15675// Copy fields in to row
15676// func:amc.FXref.msghdr.CopyIn
15677void                 xref_CopyIn(amc::FXref &row, dmmeta::Xref &in) __attribute__((nothrow));
15678
15679// func:amc.FXref.name.Get
15680algo::Smallstr50     name_Get(amc::FXref& xref) __attribute__((__warn_unused_result__, nothrow));
15681
15682// func:amc.FXref.ns.Get
15683algo::Smallstr16     ns_Get(amc::FXref& xref) __attribute__((__warn_unused_result__, nothrow));
15684
15685// func:amc.FXref.viafld.Get
15686algo::Smallstr100    viafld_Get(amc::FXref& xref) __attribute__((__warn_unused_result__, nothrow));
15687
15688// func:amc.FXref.keyfld.Get
15689algo::Smallstr100    keyfld_Get(amc::FXref& xref) __attribute__((__warn_unused_result__, nothrow));
15690
15691// Insert row into pointer index. Return final membership status.
15692// func:amc.FXref.c_nocascdel.InsertMaybe
15693bool                 c_nocascdel_InsertMaybe(amc::FXref& xref, amc::FNocascdel& row) __attribute__((nothrow));
15694// Remove element from index. If element is not in index, do nothing.
15695// func:amc.FXref.c_nocascdel.Remove
15696void                 c_nocascdel_Remove(amc::FXref& xref, amc::FNocascdel& row) __attribute__((nothrow));
15697
15698// Set all fields to initial values.
15699// func:amc.FXref..Init
15700void                 FXref_Init(amc::FXref& xref);
15701// func:amc.FXref..Uninit
15702void                 FXref_Uninit(amc::FXref& xref) __attribute__((nothrow));
15703
15704// --- amc.FieldId
15705#pragma pack(push,1)
15706struct FieldId { // amc.FieldId: Field read helper
15707    i32   value;   //   -1
15708    inline operator amc_FieldIdEnum() const;
15709    explicit FieldId(i32                            in_value);
15710    FieldId(amc_FieldIdEnum arg);
15711    FieldId();
15712};
15713#pragma pack(pop)
15714
15715// Get value of field as enum type
15716// func:amc.FieldId.value.GetEnum
15717amc_FieldIdEnum      value_GetEnum(const amc::FieldId& parent) __attribute__((nothrow));
15718// Set value of field from enum type.
15719// func:amc.FieldId.value.SetEnum
15720void                 value_SetEnum(amc::FieldId& parent, amc_FieldIdEnum rhs) __attribute__((nothrow));
15721// Convert numeric value of field to one of predefined string constants.
15722// If string is found, return a static C string. Otherwise, return NULL.
15723// func:amc.FieldId.value.ToCstr
15724const char*          value_ToCstr(const amc::FieldId& parent) __attribute__((nothrow));
15725// Convert value to a string. First, attempt conversion to a known string.
15726// If no string matches, print value as a numeric value.
15727// func:amc.FieldId.value.Print
15728void                 value_Print(const amc::FieldId& parent, algo::cstring &lhs) __attribute__((nothrow));
15729// Convert string to field.
15730// If the string is invalid, do not modify field and return false.
15731// In case of success, return true
15732// func:amc.FieldId.value.SetStrptrMaybe
15733bool                 value_SetStrptrMaybe(amc::FieldId& parent, algo::strptr rhs) __attribute__((nothrow));
15734// Convert string to field.
15735// If the string is invalid, set numeric value to DFLT
15736// func:amc.FieldId.value.SetStrptr
15737void                 value_SetStrptr(amc::FieldId& parent, algo::strptr rhs, amc_FieldIdEnum dflt) __attribute__((nothrow));
15738// Convert string to field. Return success value
15739// func:amc.FieldId.value.ReadStrptrMaybe
15740bool                 value_ReadStrptrMaybe(amc::FieldId& parent, algo::strptr rhs) __attribute__((nothrow));
15741
15742// Read fields of amc::FieldId from an ascii string.
15743// The format of the string is the format of the amc::FieldId's only field
15744// func:amc.FieldId..ReadStrptrMaybe
15745bool                 FieldId_ReadStrptrMaybe(amc::FieldId &parent, algo::strptr in_str) __attribute__((nothrow));
15746// Set all fields to initial values.
15747// func:amc.FieldId..Init
15748void                 FieldId_Init(amc::FieldId& parent);
15749// print string representation of ROW to string STR
15750// cfmt:amc.FieldId.String  printfmt:Raw
15751// func:amc.FieldId..Print
15752void                 FieldId_Print(amc::FieldId& row, algo::cstring& str) __attribute__((nothrow));
15753
15754// --- amc.Funcarg
15755// create: amc.FFunc.funcarg (Tary)
15756struct Funcarg { // amc.Funcarg
15757    algo::cstring   type;          // C++ expression for declaration
15758    algo::cstring   name;          // Argument name
15759    algo::cstring   dflt;          // Initializer
15760    bool            retval;        //   false  Is return value?
15761    bool            initialized;   //   false
15762    bool            indent;        //   false  Formatting option for prototype
15763    bool            typearg;       //   false
15764    Funcarg();
15765};
15766
15767// Set all fields to initial values.
15768// func:amc.Funcarg..Init
15769void                 Funcarg_Init(amc::Funcarg& parent);
15770
15771// --- amc.Genpnew
15772struct Genpnew { // amc.Genpnew
15773    amc::FFunc*           p_func;        // reference to parent row
15774    algo_lib::Replscope   R;             //
15775    algo::cstring         preamble;      //
15776    algo::cstring         postamble;     //
15777    bool                  req_pack;      //   false
15778    amc::FCtype*          p_ctype;       // reference to parent row
15779    amc::FField*          p_optfld;      // reference to parent row
15780    amc::FField*          p_varlenfld;   // reference to parent row
15781    bool                  optnolen;      //   false
15782    bool                  hasret;        //   true
15783    Genpnew();
15784private:
15785    // value field amc.Genpnew.R is not copiable
15786    Genpnew(const Genpnew&){ /*disallow copy constructor */}
15787    void operator =(const Genpnew&){ /*disallow direct assignment */}
15788};
15789
15790// Set all fields to initial values.
15791// func:amc.Genpnew..Init
15792void                 Genpnew_Init(amc::Genpnew& parent);
15793
15794// --- amc.Pnewtype
15795struct Pnewtype { // amc.Pnewtype
15796    u8   value;   //   0
15797    inline operator amc_PnewtypeEnum() const;
15798    explicit Pnewtype(u8                             in_value);
15799    Pnewtype(amc_PnewtypeEnum arg);
15800    Pnewtype();
15801};
15802
15803// Get value of field as enum type
15804// func:amc.Pnewtype.value.GetEnum
15805amc_PnewtypeEnum     value_GetEnum(const amc::Pnewtype& parent) __attribute__((nothrow));
15806// Set value of field from enum type.
15807// func:amc.Pnewtype.value.SetEnum
15808void                 value_SetEnum(amc::Pnewtype& parent, amc_PnewtypeEnum rhs) __attribute__((nothrow));
15809// Convert numeric value of field to one of predefined string constants.
15810// If string is found, return a static C string. Otherwise, return NULL.
15811// func:amc.Pnewtype.value.ToCstr
15812const char*          value_ToCstr(const amc::Pnewtype& parent) __attribute__((nothrow));
15813// Convert value to a string. First, attempt conversion to a known string.
15814// If no string matches, print value as a numeric value.
15815// func:amc.Pnewtype.value.Print
15816void                 value_Print(const amc::Pnewtype& parent, algo::cstring &lhs) __attribute__((nothrow));
15817// Convert string to field.
15818// If the string is invalid, do not modify field and return false.
15819// In case of success, return true
15820// func:amc.Pnewtype.value.SetStrptrMaybe
15821bool                 value_SetStrptrMaybe(amc::Pnewtype& parent, algo::strptr rhs) __attribute__((nothrow));
15822// Convert string to field.
15823// If the string is invalid, set numeric value to DFLT
15824// func:amc.Pnewtype.value.SetStrptr
15825void                 value_SetStrptr(amc::Pnewtype& parent, algo::strptr rhs, amc_PnewtypeEnum dflt) __attribute__((nothrow));
15826// Convert string to field. Return success value
15827// func:amc.Pnewtype.value.ReadStrptrMaybe
15828bool                 value_ReadStrptrMaybe(amc::Pnewtype& parent, algo::strptr rhs) __attribute__((nothrow));
15829
15830// Read fields of amc::Pnewtype from an ascii string.
15831// The format of the string is the format of the amc::Pnewtype's only field
15832// func:amc.Pnewtype..ReadStrptrMaybe
15833bool                 Pnewtype_ReadStrptrMaybe(amc::Pnewtype &parent, algo::strptr in_str) __attribute__((nothrow));
15834// Set all fields to initial values.
15835// func:amc.Pnewtype..Init
15836void                 Pnewtype_Init(amc::Pnewtype& parent);
15837// print string representation of ROW to string STR
15838// cfmt:amc.Pnewtype.String  printfmt:Raw
15839// func:amc.Pnewtype..Print
15840void                 Pnewtype_Print(amc::Pnewtype row, algo::cstring& str) __attribute__((nothrow));
15841
15842// --- amc.TableId
15843struct TableId { // amc.TableId: Index of table in this namespace
15844    i32   value;   //   -1  index of table
15845    inline operator amc_TableIdEnum() const;
15846    explicit TableId(i32                            in_value);
15847    TableId(amc_TableIdEnum arg);
15848    TableId();
15849};
15850
15851// Get value of field as enum type
15852// func:amc.TableId.value.GetEnum
15853amc_TableIdEnum      value_GetEnum(const amc::TableId& parent) __attribute__((nothrow));
15854// Set value of field from enum type.
15855// func:amc.TableId.value.SetEnum
15856void                 value_SetEnum(amc::TableId& parent, amc_TableIdEnum rhs) __attribute__((nothrow));
15857// Convert numeric value of field to one of predefined string constants.
15858// If string is found, return a static C string. Otherwise, return NULL.
15859// func:amc.TableId.value.ToCstr
15860const char*          value_ToCstr(const amc::TableId& parent) __attribute__((nothrow));
15861// Convert value to a string. First, attempt conversion to a known string.
15862// If no string matches, print value as a numeric value.
15863// func:amc.TableId.value.Print
15864void                 value_Print(const amc::TableId& parent, algo::cstring &lhs) __attribute__((nothrow));
15865// Convert string to field.
15866// If the string is invalid, do not modify field and return false.
15867// In case of success, return true
15868// func:amc.TableId.value.SetStrptrMaybe
15869bool                 value_SetStrptrMaybe(amc::TableId& parent, algo::strptr rhs) __attribute__((nothrow));
15870// Convert string to field.
15871// If the string is invalid, set numeric value to DFLT
15872// func:amc.TableId.value.SetStrptr
15873void                 value_SetStrptr(amc::TableId& parent, algo::strptr rhs, amc_TableIdEnum dflt) __attribute__((nothrow));
15874// Convert string to field. Return success value
15875// func:amc.TableId.value.ReadStrptrMaybe
15876bool                 value_ReadStrptrMaybe(amc::TableId& parent, algo::strptr rhs) __attribute__((nothrow));
15877
15878// Read fields of amc::TableId from an ascii string.
15879// The format of the string is the format of the amc::TableId's only field
15880// func:amc.TableId..ReadStrptrMaybe
15881bool                 TableId_ReadStrptrMaybe(amc::TableId &parent, algo::strptr in_str) __attribute__((nothrow));
15882// Set all fields to initial values.
15883// func:amc.TableId..Init
15884void                 TableId_Init(amc::TableId& parent);
15885// print string representation of ROW to string STR
15886// cfmt:amc.TableId.String  printfmt:Raw
15887// func:amc.TableId..Print
15888void                 TableId_Print(amc::TableId& row, algo::cstring& str) __attribute__((nothrow));
15889} // gen:ns_print_struct
15890namespace amc { // gen:ns_curstext
15891
15892struct ctype_zs_cfmt_curs {// fcurs:amc.FCtype.zs_cfmt/curs
15893    typedef amc::FCfmt ChildType;
15894    amc::FCfmt* row;
15895    ctype_zs_cfmt_curs() {
15896        row = NULL;
15897    }
15898};
15899
15900
15901struct ctype_c_field_curs {// fcurs:amc.FCtype.c_field/curs
15902    typedef amc::FField ChildType;
15903    amc::FField** elems;
15904    u32 n_elems;
15905    u32 index;
15906    ctype_c_field_curs() { elems=NULL; n_elems=0; index=0; }
15907};
15908
15909
15910struct ctype_c_static_curs {// fcurs:amc.FCtype.c_static/curs
15911    typedef amc::FStatictuple ChildType;
15912    amc::FStatictuple** elems;
15913    u32 n_elems;
15914    u32 index;
15915    ctype_c_static_curs() { elems=NULL; n_elems=0; index=0; }
15916};
15917
15918
15919struct ctype_c_parent_curs {// fcurs:amc.FCtype.c_parent/curs
15920    typedef amc::FCtype ChildType;
15921    amc::FCtype** elems;
15922    u32 n_elems;
15923    u32 index;
15924    ctype_c_parent_curs() { elems=NULL; n_elems=0; index=0; }
15925};
15926
15927
15928struct ctype_c_pmaskfld_curs {// fcurs:amc.FCtype.c_pmaskfld/curs
15929    typedef amc::FPmaskfld ChildType;
15930    amc::FPmaskfld** elems;
15931    u32 n_elems;
15932    u32 index;
15933    ctype_c_pmaskfld_curs() { elems=NULL; n_elems=0; index=0; }
15934};
15935
15936
15937struct ctype_c_datafld_curs {// fcurs:amc.FCtype.c_datafld/curs
15938    typedef amc::FField ChildType;
15939    amc::FField** elems;
15940    u32 n_elems;
15941    u32 index;
15942    ctype_c_datafld_curs() { elems=NULL; n_elems=0; index=0; }
15943};
15944
15945
15946struct ctype_zd_inst_curs {// fcurs:amc.FCtype.zd_inst/curs
15947    typedef amc::FField ChildType;
15948    amc::FField* row;
15949    ctype_zd_inst_curs() {
15950        row = NULL;
15951    }
15952};
15953
15954
15955struct ctype_zs_xref_curs {// fcurs:amc.FCtype.zs_xref/curs
15956    typedef amc::FXref ChildType;
15957    amc::FXref* row;
15958    ctype_zs_xref_curs() {
15959        row = NULL;
15960    }
15961};
15962
15963
15964struct ctype_c_ffunc_curs {// fcurs:amc.FCtype.c_ffunc/curs
15965    typedef amc::FFunc ChildType;
15966    amc::FFunc** elems;
15967    u32 n_elems;
15968    u32 index;
15969    ctype_c_ffunc_curs() { elems=NULL; n_elems=0; index=0; }
15970};
15971
15972
15973struct ctype_zd_cafter_curs {// fcurs:amc.FCtype.zd_cafter/curs
15974    typedef amc::FCafter ChildType;
15975    amc::FCafter* row;
15976    ctype_zd_cafter_curs() {
15977        row = NULL;
15978    }
15979};
15980
15981
15982struct ctype_zd_access_curs {// fcurs:amc.FCtype.zd_access/curs
15983    typedef amc::FField ChildType;
15984    amc::FField* row;
15985    ctype_zd_access_curs() {
15986        row = NULL;
15987    }
15988};
15989
15990
15991struct ctype_c_fcurs_curs {// fcurs:amc.FCtype.c_fcurs/curs
15992    typedef amc::FFcurs ChildType;
15993    amc::FFcurs** elems;
15994    u32 n_elems;
15995    u32 index;
15996    ctype_c_fcurs_curs() { elems=NULL; n_elems=0; index=0; }
15997};
15998
15999
16000struct ctype_c_ffast_curs {// fcurs:amc.FCtype.c_ffast/curs
16001    typedef amc::FFfast ChildType;
16002    amc::FFfast** elems;
16003    u32 n_elems;
16004    u32 index;
16005    ctype_c_ffast_curs() { elems=NULL; n_elems=0; index=0; }
16006};
16007
16008
16009struct tclass_c_tfunc_curs {// fcurs:amc.FTclass.c_tfunc/curs
16010    typedef amc::FTfunc ChildType;
16011    amc::FTfunc** elems;
16012    u32 n_elems;
16013    u32 index;
16014    tclass_c_tfunc_curs() { elems=NULL; n_elems=0; index=0; }
16015};
16016
16017
16018struct _db_fsort_curs {// cursor
16019    typedef amc::FFsort ChildType;
16020    amc::FDb *parent;
16021    i64 index;
16022    _db_fsort_curs(){ parent=NULL; index=0; }
16023};
16024
16025
16026struct _db_dispfilter_curs {// cursor
16027    typedef amc::FDispfilter ChildType;
16028    amc::FDb *parent;
16029    i64 index;
16030    _db_dispfilter_curs(){ parent=NULL; index=0; }
16031};
16032
16033
16034struct _db_usertracefld_curs {// cursor
16035    typedef amc::FUsertracefld ChildType;
16036    amc::FDb *parent;
16037    i64 index;
16038    _db_usertracefld_curs(){ parent=NULL; index=0; }
16039};
16040
16041
16042struct _db_cfmt_curs {// cursor
16043    typedef amc::FCfmt ChildType;
16044    amc::FDb *parent;
16045    i64 index;
16046    _db_cfmt_curs(){ parent=NULL; index=0; }
16047};
16048
16049
16050struct _db_dispatch_curs {// cursor
16051    typedef amc::FDispatch ChildType;
16052    amc::FDb *parent;
16053    i64 index;
16054    _db_dispatch_curs(){ parent=NULL; index=0; }
16055};
16056
16057
16058struct _db_dispatch_msg_curs {// cursor
16059    typedef amc::FDispatchmsg ChildType;
16060    amc::FDb *parent;
16061    i64 index;
16062    _db_dispatch_msg_curs(){ parent=NULL; index=0; }
16063};
16064
16065
16066struct _db_ctype_curs {// cursor
16067    typedef amc::FCtype ChildType;
16068    amc::FDb *parent;
16069    i64 index;
16070    _db_ctype_curs(){ parent=NULL; index=0; }
16071};
16072
16073
16074struct _db_field_curs {// cursor
16075    typedef amc::FField ChildType;
16076    amc::FDb *parent;
16077    i64 index;
16078    _db_field_curs(){ parent=NULL; index=0; }
16079};
16080
16081
16082struct _db_basepool_curs {// cursor
16083    typedef amc::FBasepool ChildType;
16084    amc::FDb *parent;
16085    i64 index;
16086    _db_basepool_curs(){ parent=NULL; index=0; }
16087};
16088
16089
16090struct _db_llist_curs {// cursor
16091    typedef amc::FLlist ChildType;
16092    amc::FDb *parent;
16093    i64 index;
16094    _db_llist_curs(){ parent=NULL; index=0; }
16095};
16096
16097
16098struct _db_anonfld_curs {// cursor
16099    typedef amc::FAnonfld ChildType;
16100    amc::FDb *parent;
16101    i64 index;
16102    _db_anonfld_curs(){ parent=NULL; index=0; }
16103};
16104
16105
16106struct _db_xref_curs {// cursor
16107    typedef amc::FXref ChildType;
16108    amc::FDb *parent;
16109    i64 index;
16110    _db_xref_curs(){ parent=NULL; index=0; }
16111};
16112
16113
16114struct _db_ns_curs {// cursor
16115    typedef amc::FNs ChildType;
16116    amc::FDb *parent;
16117    i64 index;
16118    _db_ns_curs(){ parent=NULL; index=0; }
16119};
16120
16121
16122struct _db_pnew_curs {// cursor
16123    typedef amc::FPnew ChildType;
16124    amc::FDb *parent;
16125    i64 index;
16126    _db_pnew_curs(){ parent=NULL; index=0; }
16127};
16128
16129
16130struct _db_fldoffset_curs {// cursor
16131    typedef amc::FFldoffset ChildType;
16132    amc::FDb *parent;
16133    i64 index;
16134    _db_fldoffset_curs(){ parent=NULL; index=0; }
16135};
16136
16137
16138struct _db_typefld_curs {// cursor
16139    typedef amc::FTypefld ChildType;
16140    amc::FDb *parent;
16141    i64 index;
16142    _db_typefld_curs(){ parent=NULL; index=0; }
16143};
16144
16145
16146struct _db_lenfld_curs {// cursor
16147    typedef amc::FLenfld ChildType;
16148    amc::FDb *parent;
16149    i64 index;
16150    _db_lenfld_curs(){ parent=NULL; index=0; }
16151};
16152
16153
16154struct _db_bltin_curs {// cursor
16155    typedef amc::FBltin ChildType;
16156    amc::FDb *parent;
16157    i64 index;
16158    _db_bltin_curs(){ parent=NULL; index=0; }
16159};
16160
16161
16162struct _db_static_tuple_curs {// cursor
16163    typedef amc::FStatictuple ChildType;
16164    amc::FDb *parent;
16165    i64 index;
16166    _db_static_tuple_curs(){ parent=NULL; index=0; }
16167};
16168
16169
16170struct _db_msgtype_curs {// cursor
16171    typedef amc::FMsgtype ChildType;
16172    amc::FDb *parent;
16173    i64 index;
16174    _db_msgtype_curs(){ parent=NULL; index=0; }
16175};
16176
16177
16178struct _db_gconst_curs {// cursor
16179    typedef amc::FGconst ChildType;
16180    amc::FDb *parent;
16181    i64 index;
16182    _db_gconst_curs(){ parent=NULL; index=0; }
16183};
16184
16185
16186struct _db_gstatic_curs {// cursor
16187    typedef amc::FGstatic ChildType;
16188    amc::FDb *parent;
16189    i64 index;
16190    _db_gstatic_curs(){ parent=NULL; index=0; }
16191};
16192
16193
16194struct _db_thash_curs {// cursor
16195    typedef amc::FThash ChildType;
16196    amc::FDb *parent;
16197    i64 index;
16198    _db_thash_curs(){ parent=NULL; index=0; }
16199};
16200
16201
16202struct _db_func_curs {// cursor
16203    typedef amc::FFunc ChildType;
16204    amc::FDb *parent;
16205    i64 index;
16206    _db_func_curs(){ parent=NULL; index=0; }
16207};
16208
16209
16210struct _db_smallstr_curs {// cursor
16211    typedef amc::FSmallstr ChildType;
16212    amc::FDb *parent;
16213    i64 index;
16214    _db_smallstr_curs(){ parent=NULL; index=0; }
16215};
16216
16217
16218struct _db_numstr_curs {// cursor
16219    typedef amc::FNumstr ChildType;
16220    amc::FDb *parent;
16221    i64 index;
16222    _db_numstr_curs(){ parent=NULL; index=0; }
16223};
16224
16225
16226struct _db_main_curs {// cursor
16227    typedef amc::FMain ChildType;
16228    amc::FDb *parent;
16229    i64 index;
16230    _db_main_curs(){ parent=NULL; index=0; }
16231};
16232
16233
16234struct _db_reftype_curs {// cursor
16235    typedef amc::FReftype ChildType;
16236    amc::FDb *parent;
16237    i64 index;
16238    _db_reftype_curs(){ parent=NULL; index=0; }
16239};
16240
16241
16242struct _db_cpptype_curs {// cursor
16243    typedef amc::FCpptype ChildType;
16244    amc::FDb *parent;
16245    i64 index;
16246    _db_cpptype_curs(){ parent=NULL; index=0; }
16247};
16248
16249
16250struct _db_inlary_curs {// cursor
16251    typedef amc::FInlary ChildType;
16252    amc::FDb *parent;
16253    i64 index;
16254    _db_inlary_curs(){ parent=NULL; index=0; }
16255};
16256
16257
16258struct _db_tary_curs {// cursor
16259    typedef amc::FTary ChildType;
16260    amc::FDb *parent;
16261    i64 index;
16262    _db_tary_curs(){ parent=NULL; index=0; }
16263};
16264
16265
16266struct _db_cppfunc_curs {// cursor
16267    typedef amc::FCppfunc ChildType;
16268    amc::FDb *parent;
16269    i64 index;
16270    _db_cppfunc_curs(){ parent=NULL; index=0; }
16271};
16272
16273
16274struct _db_rowid_curs {// cursor
16275    typedef amc::FRowid ChildType;
16276    amc::FDb *parent;
16277    i64 index;
16278    _db_rowid_curs(){ parent=NULL; index=0; }
16279};
16280
16281
16282struct _db_cascdel_curs {// cursor
16283    typedef amc::FCascdel ChildType;
16284    amc::FDb *parent;
16285    i64 index;
16286    _db_cascdel_curs(){ parent=NULL; index=0; }
16287};
16288
16289
16290struct _db_substr_curs {// cursor
16291    typedef amc::FSubstr ChildType;
16292    amc::FDb *parent;
16293    i64 index;
16294    _db_substr_curs(){ parent=NULL; index=0; }
16295};
16296
16297
16298struct _db_bitfld_curs {// cursor
16299    typedef amc::FBitfld ChildType;
16300    amc::FDb *parent;
16301    i64 index;
16302    _db_bitfld_curs(){ parent=NULL; index=0; }
16303};
16304
16305
16306struct _db_ssimfile_curs {// cursor
16307    typedef amc::FSsimfile ChildType;
16308    amc::FDb *parent;
16309    i64 index;
16310    _db_ssimfile_curs(){ parent=NULL; index=0; }
16311};
16312
16313
16314struct _db_pack_curs {// cursor
16315    typedef amc::FPack ChildType;
16316    amc::FDb *parent;
16317    i64 index;
16318    _db_pack_curs(){ parent=NULL; index=0; }
16319};
16320
16321
16322struct _db_ptrary_curs {// cursor
16323    typedef amc::FPtrary ChildType;
16324    amc::FDb *parent;
16325    i64 index;
16326    _db_ptrary_curs(){ parent=NULL; index=0; }
16327};
16328
16329
16330struct _db_c_ctype_sorted_curs {// fcurs:amc.FDb.c_ctype_sorted/curs
16331    typedef amc::FCtype ChildType;
16332    amc::FCtype** elems;
16333    u32 n_elems;
16334    u32 index;
16335    _db_c_ctype_sorted_curs() { elems=NULL; n_elems=0; index=0; }
16336};
16337
16338
16339struct _db_enumstr_curs {// cursor
16340    typedef amc::FEnumstr ChildType;
16341    amc::FDb *parent;
16342    i64 index;
16343    _db_enumstr_curs(){ parent=NULL; index=0; }
16344};
16345
16346
16347struct _db_enumstr_len_curs {// cursor
16348    typedef amc::FEnumstrLen ChildType;
16349    amc::FDb *parent;
16350    i64 index;
16351    _db_enumstr_len_curs(){ parent=NULL; index=0; }
16352};
16353
16354// Non-destructive heap cursor, returns heap elements in sorted order.
16355// A running front of potential smallest entries is kept in the helper heap (curs.temp_%)
16356struct _db_bh_enumstr_len_curs {
16357    typedef amc::FEnumstrLen ChildType;
16358    amc::FDb      *parent;        // parent
16359    amc::FEnumstrLen*     *temp_elems;    // helper heap
16360    int            temp_n;        // number of elements heaped in the helper heap
16361    int            temp_max;      // max number of elements possible in the helper heap
16362    _db_bh_enumstr_len_curs() : parent(NULL), temp_elems(NULL), temp_n(0), temp_max(0) {}
16363    ~_db_bh_enumstr_len_curs();
16364};
16365
16366
16367struct _db_fbitset_curs {// cursor
16368    typedef amc::FFbitset ChildType;
16369    amc::FDb *parent;
16370    i64 index;
16371    _db_fbitset_curs(){ parent=NULL; index=0; }
16372};
16373
16374
16375struct _db_fcleanup_curs {// cursor
16376    typedef amc::FFcleanup ChildType;
16377    amc::FDb *parent;
16378    i64 index;
16379    _db_fcleanup_curs(){ parent=NULL; index=0; }
16380};
16381
16382
16383struct _db_fdec_curs {// cursor
16384    typedef amc::FFdec ChildType;
16385    amc::FDb *parent;
16386    i64 index;
16387    _db_fdec_curs(){ parent=NULL; index=0; }
16388};
16389
16390
16391struct _db_fconst_curs {// cursor
16392    typedef amc::FFconst ChildType;
16393    amc::FDb *parent;
16394    i64 index;
16395    _db_fconst_curs(){ parent=NULL; index=0; }
16396};
16397
16398
16399struct _db_c_ns_sorted_curs {// fcurs:amc.FDb.c_ns_sorted/curs
16400    typedef amc::FNs ChildType;
16401    amc::FNs** elems;
16402    u32 n_elems;
16403    u32 index;
16404    _db_c_ns_sorted_curs() { elems=NULL; n_elems=0; index=0; }
16405};
16406
16407
16408struct _db_finput_curs {// cursor
16409    typedef amc::FFinput ChildType;
16410    amc::FDb *parent;
16411    i64 index;
16412    _db_finput_curs(){ parent=NULL; index=0; }
16413};
16414
16415
16416struct _db_foutput_curs {// cursor
16417    typedef amc::FFoutput ChildType;
16418    amc::FDb *parent;
16419    i64 index;
16420    _db_foutput_curs(){ parent=NULL; index=0; }
16421};
16422
16423
16424struct _db_fbuf_curs {// cursor
16425    typedef amc::FFbuf ChildType;
16426    amc::FDb *parent;
16427    i64 index;
16428    _db_fbuf_curs(){ parent=NULL; index=0; }
16429};
16430
16431
16432struct _db_chash_curs {// cursor
16433    typedef amc::FChash ChildType;
16434    amc::FDb *parent;
16435    i64 index;
16436    _db_chash_curs(){ parent=NULL; index=0; }
16437};
16438
16439
16440struct _db_ccmp_curs {// cursor
16441    typedef amc::FCcmp ChildType;
16442    amc::FDb *parent;
16443    i64 index;
16444    _db_ccmp_curs(){ parent=NULL; index=0; }
16445};
16446
16447
16448struct _db_fbigend_curs {// cursor
16449    typedef amc::FFbigend ChildType;
16450    amc::FDb *parent;
16451    i64 index;
16452    _db_fbigend_curs(){ parent=NULL; index=0; }
16453};
16454
16455
16456struct _db_zsl_ctype_pack_tran_curs {// fcurs:amc.FDb.zsl_ctype_pack_tran/curs
16457    typedef amc::FCtype ChildType;
16458    amc::FCtype* row;
16459    _db_zsl_ctype_pack_tran_curs() {
16460        row = NULL;
16461    }
16462};
16463
16464
16465struct _db_cstr_curs {// cursor
16466    typedef amc::FCstr ChildType;
16467    amc::FDb *parent;
16468    i64 index;
16469    _db_cstr_curs(){ parent=NULL; index=0; }
16470};
16471
16472
16473struct _db_listtype_curs {// cursor
16474    typedef amc::FListtype ChildType;
16475    amc::FDb *parent;
16476    i64 index;
16477    _db_listtype_curs(){ parent=NULL; index=0; }
16478};
16479
16480
16481struct _db_fstep_curs {// cursor
16482    typedef amc::FFstep ChildType;
16483    amc::FDb *parent;
16484    i64 index;
16485    _db_fstep_curs(){ parent=NULL; index=0; }
16486};
16487
16488
16489struct _db_cextern_curs {// cursor
16490    typedef amc::FCextern ChildType;
16491    amc::FDb *parent;
16492    i64 index;
16493    _db_cextern_curs(){ parent=NULL; index=0; }
16494};
16495
16496
16497struct _db_fdelay_curs {// cursor
16498    typedef amc::FFdelay ChildType;
16499    amc::FDb *parent;
16500    i64 index;
16501    _db_fdelay_curs(){ parent=NULL; index=0; }
16502};
16503
16504
16505struct _db_disptrace_curs {// cursor
16506    typedef amc::FDisptrace ChildType;
16507    amc::FDb *parent;
16508    i64 index;
16509    _db_disptrace_curs(){ parent=NULL; index=0; }
16510};
16511
16512
16513struct _db_tracefld_curs {// cursor
16514    typedef amc::FTracefld ChildType;
16515    amc::FDb *parent;
16516    i64 index;
16517    _db_tracefld_curs(){ parent=NULL; index=0; }
16518};
16519
16520
16521struct _db_tracerec_curs {// cursor
16522    typedef amc::FTracerec ChildType;
16523    amc::FDb *parent;
16524    i64 index;
16525    _db_tracerec_curs(){ parent=NULL; index=0; }
16526};
16527
16528
16529struct _db_dispsig_curs {// cursor
16530    typedef amc::FDispsig ChildType;
16531    amc::FDb *parent;
16532    i64 index;
16533    _db_dispsig_curs(){ parent=NULL; index=0; }
16534};
16535
16536
16537struct _db_c_dispsig_sorted_curs {// fcurs:amc.FDb.c_dispsig_sorted/curs
16538    typedef amc::FDispsig ChildType;
16539    amc::FDispsig** elems;
16540    u32 n_elems;
16541    u32 index;
16542    _db_c_dispsig_sorted_curs() { elems=NULL; n_elems=0; index=0; }
16543};
16544
16545
16546struct _db_zs_sig_visit_curs {// fcurs:amc.FDb.zs_sig_visit/curs
16547    typedef amc::FCtype ChildType;
16548    amc::FCtype* row;
16549    _db_zs_sig_visit_curs() {
16550        row = NULL;
16551    }
16552};
16553
16554
16555struct _db_target_curs {// cursor
16556    typedef amc::FTarget ChildType;
16557    amc::FDb *parent;
16558    i64 index;
16559    _db_target_curs(){ parent=NULL; index=0; }
16560};
16561
16562
16563struct _db_targdep_curs {// cursor
16564    typedef amc::FTargdep ChildType;
16565    amc::FDb *parent;
16566    i64 index;
16567    _db_targdep_curs(){ parent=NULL; index=0; }
16568};
16569
16570
16571struct _db_dispctx_curs {// cursor
16572    typedef amc::FDispctx ChildType;
16573    amc::FDb *parent;
16574    i64 index;
16575    _db_dispctx_curs(){ parent=NULL; index=0; }
16576};
16577
16578
16579struct _db_pmaskfld_curs {// cursor
16580    typedef amc::FPmaskfld ChildType;
16581    amc::FDb *parent;
16582    i64 index;
16583    _db_pmaskfld_curs(){ parent=NULL; index=0; }
16584};
16585
16586
16587struct _db_fwddecl_curs {// cursor
16588    typedef amc::FFwddecl ChildType;
16589    amc::FDb *parent;
16590    i64 index;
16591    _db_fwddecl_curs(){ parent=NULL; index=0; }
16592};
16593
16594
16595struct _db_tfunc_curs {// cursor
16596    typedef amc::FTfunc ChildType;
16597    amc::FDb *parent;
16598    i64 index;
16599    _db_tfunc_curs(){ parent=NULL; index=0; }
16600};
16601
16602
16603struct _db_gen_curs {// cursor
16604    typedef amc::FGen ChildType;
16605    amc::FDb *parent;
16606    i64 index;
16607    _db_gen_curs(){ parent=NULL; index=0; }
16608};
16609
16610
16611struct _db_fregx_curs {// cursor
16612    typedef amc::FFregx ChildType;
16613    amc::FDb *parent;
16614    i64 index;
16615    _db_fregx_curs(){ parent=NULL; index=0; }
16616};
16617
16618
16619struct _db_tclass_curs {// cursor
16620    typedef amc::FTclass ChildType;
16621    int index;
16622    amc::FDb *parent;
16623    _db_tclass_curs() { parent=NULL; index=0; }
16624};
16625
16626
16627struct _db_fcmp_curs {// cursor
16628    typedef amc::FFcmp ChildType;
16629    amc::FDb *parent;
16630    i64 index;
16631    _db_fcmp_curs(){ parent=NULL; index=0; }
16632};
16633
16634
16635struct _db_fcast_curs {// cursor
16636    typedef amc::FFcast ChildType;
16637    amc::FDb *parent;
16638    i64 index;
16639    _db_fcast_curs(){ parent=NULL; index=0; }
16640};
16641
16642
16643struct _db_noxref_curs {// cursor
16644    typedef amc::FNoxref ChildType;
16645    amc::FDb *parent;
16646    i64 index;
16647    _db_noxref_curs(){ parent=NULL; index=0; }
16648};
16649
16650
16651struct _db_nocascdel_curs {// cursor
16652    typedef amc::FNocascdel ChildType;
16653    amc::FDb *parent;
16654    i64 index;
16655    _db_nocascdel_curs(){ parent=NULL; index=0; }
16656};
16657
16658
16659struct _db_cafter_curs {// cursor
16660    typedef amc::FCafter ChildType;
16661    amc::FDb *parent;
16662    i64 index;
16663    _db_cafter_curs(){ parent=NULL; index=0; }
16664};
16665
16666
16667struct _db_csize_curs {// cursor
16668    typedef amc::FCsize ChildType;
16669    amc::FDb *parent;
16670    i64 index;
16671    _db_csize_curs(){ parent=NULL; index=0; }
16672};
16673
16674
16675struct _db_nsx_curs {// cursor
16676    typedef amc::FNsx ChildType;
16677    amc::FDb *parent;
16678    i64 index;
16679    _db_nsx_curs(){ parent=NULL; index=0; }
16680};
16681
16682
16683struct _db_fcompact_curs {// cursor
16684    typedef amc::FFcompact ChildType;
16685    amc::FDb *parent;
16686    i64 index;
16687    _db_fcompact_curs(){ parent=NULL; index=0; }
16688};
16689
16690
16691struct _db_findrem_curs {// cursor
16692    typedef amc::FFindrem ChildType;
16693    amc::FDb *parent;
16694    i64 index;
16695    _db_findrem_curs(){ parent=NULL; index=0; }
16696};
16697
16698
16699struct _db_fcurs_curs {// cursor
16700    typedef amc::FFcurs ChildType;
16701    amc::FDb *parent;
16702    i64 index;
16703    _db_fcurs_curs(){ parent=NULL; index=0; }
16704};
16705
16706
16707struct _db_cdflt_curs {// cursor
16708    typedef amc::FCdflt ChildType;
16709    amc::FDb *parent;
16710    i64 index;
16711    _db_cdflt_curs(){ parent=NULL; index=0; }
16712};
16713
16714
16715struct _db_argvtype_curs {// cursor
16716    typedef amc::FArgvtype ChildType;
16717    amc::FDb *parent;
16718    i64 index;
16719    _db_argvtype_curs(){ parent=NULL; index=0; }
16720};
16721
16722
16723struct _db_fcmdline_curs {// cursor
16724    typedef amc::FFcmdline ChildType;
16725    amc::FDb *parent;
16726    i64 index;
16727    _db_fcmdline_curs(){ parent=NULL; index=0; }
16728};
16729
16730
16731struct _db_floadtuples_curs {// cursor
16732    typedef amc::FFloadtuples ChildType;
16733    amc::FDb *parent;
16734    i64 index;
16735    _db_floadtuples_curs(){ parent=NULL; index=0; }
16736};
16737
16738
16739struct _db_fcmap_curs {// cursor
16740    typedef amc::FFcmap ChildType;
16741    amc::FDb *parent;
16742    i64 index;
16743    _db_fcmap_curs(){ parent=NULL; index=0; }
16744};
16745
16746
16747struct _db_zs_ordkeyfield_curs {// fcurs:amc.FDb.zs_ordkeyfield/curs
16748    typedef amc::FField ChildType;
16749    amc::FField* row;
16750    _db_zs_ordkeyfield_curs() {
16751        row = NULL;
16752    }
16753};
16754
16755
16756struct _db_nsproto_curs {// cursor
16757    typedef amc::FNsproto ChildType;
16758    amc::FDb *parent;
16759    i64 index;
16760    _db_nsproto_curs(){ parent=NULL; index=0; }
16761};
16762
16763
16764struct _db_nsdb_curs {// cursor
16765    typedef amc::FNsdb ChildType;
16766    amc::FDb *parent;
16767    i64 index;
16768    _db_nsdb_curs(){ parent=NULL; index=0; }
16769};
16770
16771
16772struct _db_zd_substr_params_curs {// fcurs:amc.FDb.zd_substr_params/curs
16773    typedef amc::FSubstr ChildType;
16774    amc::FSubstr* row;
16775    _db_zd_substr_params_curs() {
16776        row = NULL;
16777    }
16778};
16779
16780
16781struct _db_fprefix_curs {// cursor
16782    typedef amc::FFprefix ChildType;
16783    amc::FDb *parent;
16784    i64 index;
16785    _db_fprefix_curs(){ parent=NULL; index=0; }
16786};
16787
16788
16789struct _db_ftrace_curs {// cursor
16790    typedef amc::FFtrace ChildType;
16791    amc::FDb *parent;
16792    i64 index;
16793    _db_ftrace_curs(){ parent=NULL; index=0; }
16794};
16795
16796
16797struct _db_fnoremove_curs {// cursor
16798    typedef amc::FFnoremove ChildType;
16799    amc::FDb *parent;
16800    i64 index;
16801    _db_fnoremove_curs(){ parent=NULL; index=0; }
16802};
16803
16804
16805struct _db_c_substr_field_curs {// fcurs:amc.FDb.c_substr_field/curs
16806    typedef amc::FSubstr ChildType;
16807    amc::FSubstr** elems;
16808    u32 n_elems;
16809    u32 index;
16810    _db_c_substr_field_curs() { elems=NULL; n_elems=0; index=0; }
16811};
16812
16813
16814struct _db_ctypelen_curs {// cursor
16815    typedef amc::FCtypelen ChildType;
16816    amc::FDb *parent;
16817    i64 index;
16818    _db_ctypelen_curs(){ parent=NULL; index=0; }
16819};
16820
16821
16822struct _db_c_ctypelen_curs {// fcurs:amc.FDb.c_ctypelen/curs
16823    typedef amc::FCtypelen ChildType;
16824    amc::FCtypelen** elems;
16825    u32 n_elems;
16826    u32 index;
16827    _db_c_ctypelen_curs() { elems=NULL; n_elems=0; index=0; }
16828};
16829
16830
16831struct _db_c_tempfield_curs {// fcurs:amc.FDb.c_tempfield/curs
16832    typedef amc::FField ChildType;
16833    amc::FField** elems;
16834    u32 n_elems;
16835    u32 index;
16836    _db_c_tempfield_curs() { elems=NULL; n_elems=0; index=0; }
16837};
16838
16839
16840struct _db_fbase_curs {// cursor
16841    typedef amc::FFbase ChildType;
16842    amc::FDb *parent;
16843    i64 index;
16844    _db_fbase_curs(){ parent=NULL; index=0; }
16845};
16846
16847
16848struct _db_nossimfile_curs {// cursor
16849    typedef amc::FNossimfile ChildType;
16850    amc::FDb *parent;
16851    i64 index;
16852    _db_nossimfile_curs(){ parent=NULL; index=0; }
16853};
16854
16855
16856struct _db_gsymbol_curs {// cursor
16857    typedef amc::FGsymbol ChildType;
16858    amc::FDb *parent;
16859    i64 index;
16860    _db_gsymbol_curs(){ parent=NULL; index=0; }
16861};
16862
16863
16864struct _db_sortfld_curs {// cursor
16865    typedef amc::FSortfld ChildType;
16866    amc::FDb *parent;
16867    i64 index;
16868    _db_sortfld_curs(){ parent=NULL; index=0; }
16869};
16870
16871
16872struct _db_cget_curs {// cursor
16873    typedef amc::FCget ChildType;
16874    amc::FDb *parent;
16875    i64 index;
16876    _db_cget_curs(){ parent=NULL; index=0; }
16877};
16878
16879
16880struct _db_cd_temp_func_curs {// fcurs:amc.FDb.cd_temp_func/curs
16881    typedef amc::FFunc ChildType;
16882    amc::FFunc* row;
16883    amc::FFunc** head; // address of head element
16884    _db_cd_temp_func_curs() {
16885        row = NULL;
16886        head = NULL;
16887    }
16888};
16889
16890
16891struct _db_zs_gen_perns_curs {// fcurs:amc.FDb.zs_gen_perns/curs
16892    typedef amc::FGen ChildType;
16893    amc::FGen* row;
16894    _db_zs_gen_perns_curs() {
16895        row = NULL;
16896    }
16897};
16898
16899
16900struct _db_hook_curs {// cursor
16901    typedef amc::FHook ChildType;
16902    amc::FDb *parent;
16903    i64 index;
16904    _db_hook_curs(){ parent=NULL; index=0; }
16905};
16906
16907
16908struct _db_charset_curs {// cursor
16909    typedef amc::FCharset ChildType;
16910    amc::FDb *parent;
16911    i64 index;
16912    _db_charset_curs(){ parent=NULL; index=0; }
16913};
16914
16915
16916struct _db_nsinclude_curs {// cursor
16917    typedef amc::FNsinclude ChildType;
16918    amc::FDb *parent;
16919    i64 index;
16920    _db_nsinclude_curs(){ parent=NULL; index=0; }
16921};
16922
16923
16924struct _db_ssimvolatile_curs {// cursor
16925    typedef amc::FSsimvolatile ChildType;
16926    amc::FDb *parent;
16927    i64 index;
16928    _db_ssimvolatile_curs(){ parent=NULL; index=0; }
16929};
16930
16931
16932struct _db_funique_curs {// cursor
16933    typedef amc::FFunique ChildType;
16934    amc::FDb *parent;
16935    i64 index;
16936    _db_funique_curs(){ parent=NULL; index=0; }
16937};
16938
16939
16940struct _db_fuserinit_curs {// cursor
16941    typedef amc::FFuserinit ChildType;
16942    amc::FDb *parent;
16943    i64 index;
16944    _db_fuserinit_curs(){ parent=NULL; index=0; }
16945};
16946
16947
16948struct _db_tcurs_curs {// cursor
16949    typedef amc::FTcurs ChildType;
16950    amc::FDb *parent;
16951    i64 index;
16952    _db_tcurs_curs(){ parent=NULL; index=0; }
16953};
16954
16955
16956struct _db_nscpp_curs {// cursor
16957    typedef amc::FNscpp ChildType;
16958    amc::FDb *parent;
16959    i64 index;
16960    _db_nscpp_curs(){ parent=NULL; index=0; }
16961};
16962
16963
16964struct _db_fflag_curs {// cursor
16965    typedef amc::FFflag ChildType;
16966    amc::FDb *parent;
16967    i64 index;
16968    _db_fflag_curs(){ parent=NULL; index=0; }
16969};
16970
16971
16972struct _db_falias_curs {// cursor
16973    typedef amc::FFalias ChildType;
16974    amc::FDb *parent;
16975    i64 index;
16976    _db_falias_curs(){ parent=NULL; index=0; }
16977};
16978
16979
16980struct _db_license_curs {// cursor
16981    typedef amc::FLicense ChildType;
16982    amc::FDb *parent;
16983    i64 index;
16984    _db_license_curs(){ parent=NULL; index=0; }
16985};
16986
16987
16988struct _db_c_ssimfile_sorted_curs {// fcurs:amc.FDb.c_ssimfile_sorted/curs
16989    typedef amc::FSsimfile ChildType;
16990    amc::FSsimfile** elems;
16991    u32 n_elems;
16992    u32 index;
16993    _db_c_ssimfile_sorted_curs() { elems=NULL; n_elems=0; index=0; }
16994};
16995
16996
16997struct _db_zd_ssimfile_todo_curs {// fcurs:amc.FDb.zd_ssimfile_todo/curs
16998    typedef amc::FSsimfile ChildType;
16999    amc::FSsimfile* row;
17000    _db_zd_ssimfile_todo_curs() {
17001        row = NULL;
17002    }
17003};
17004
17005
17006struct _db_cfast_curs {// cursor
17007    typedef amc::FCfast ChildType;
17008    amc::FDb *parent;
17009    i64 index;
17010    _db_cfast_curs(){ parent=NULL; index=0; }
17011};
17012
17013
17014struct _db_ffast_curs {// cursor
17015    typedef amc::FFfast ChildType;
17016    amc::FDb *parent;
17017    i64 index;
17018    _db_ffast_curs(){ parent=NULL; index=0; }
17019};
17020
17021
17022struct _db_pmaskfld_member_curs {// cursor
17023    typedef amc::FPmaskfldMember ChildType;
17024    amc::FDb *parent;
17025    i64 index;
17026    _db_pmaskfld_member_curs(){ parent=NULL; index=0; }
17027};
17028
17029
17030struct _db_ssimsort_curs {// cursor
17031    typedef amc::FSsimsort ChildType;
17032    amc::FDb *parent;
17033    i64 index;
17034    _db_ssimsort_curs(){ parent=NULL; index=0; }
17035};
17036
17037
17038struct dispatch_c_dispatch_msg_curs {// fcurs:amc.FDispatch.c_dispatch_msg/curs
17039    typedef amc::FDispatchmsg ChildType;
17040    amc::FDispatchmsg** elems;
17041    u32 n_elems;
17042    u32 index;
17043    dispatch_c_dispatch_msg_curs() { elems=NULL; n_elems=0; index=0; }
17044};
17045
17046
17047struct enumstr_c_fconst_curs {// fcurs:amc.FEnumstr.c_fconst/curs
17048    typedef amc::FFconst ChildType;
17049    amc::FFconst** elems;
17050    u32 n_elems;
17051    u32 index;
17052    enumstr_c_fconst_curs() { elems=NULL; n_elems=0; index=0; }
17053};
17054
17055// Non-destructive heap cursor, returns heap elements in sorted order.
17056// A running front of potential smallest entries is kept in the helper heap (curs.temp_%)
17057struct enumstr_len_bh_enumstr_curs {
17058    typedef amc::FEnumstr ChildType;
17059    amc::FEnumstrLen      *parent;        // parent
17060    amc::FEnumstr*     *temp_elems;    // helper heap
17061    int            temp_n;        // number of elements heaped in the helper heap
17062    int            temp_max;      // max number of elements possible in the helper heap
17063    enumstr_len_bh_enumstr_curs() : parent(NULL), temp_elems(NULL), temp_n(0), temp_max(0) {}
17064    ~enumstr_len_bh_enumstr_curs();
17065};
17066
17067
17068struct field_c_ffunc_curs {// fcurs:amc.FField.c_ffunc/curs
17069    typedef amc::FFunc ChildType;
17070    amc::FFunc** elems;
17071    u32 n_elems;
17072    u32 index;
17073    field_c_ffunc_curs() { elems=NULL; n_elems=0; index=0; }
17074};
17075
17076
17077struct field_c_fconst_curs {// fcurs:amc.FField.c_fconst/curs
17078    typedef amc::FFconst ChildType;
17079    amc::FFconst** elems;
17080    u32 n_elems;
17081    u32 index;
17082    field_c_fconst_curs() { elems=NULL; n_elems=0; index=0; }
17083};
17084
17085
17086struct field_zd_xref_keyfld_curs {// fcurs:amc.FField.zd_xref_keyfld/curs
17087    typedef amc::FXref ChildType;
17088    amc::FXref* row;
17089    field_zd_xref_keyfld_curs() {
17090        row = NULL;
17091    }
17092};
17093
17094
17095struct field_zs_fcmap_curs {// fcurs:amc.FField.zs_fcmap/curs
17096    typedef amc::FFcmap ChildType;
17097    amc::FFcmap* row;
17098    field_zs_fcmap_curs() {
17099        row = NULL;
17100    }
17101};
17102
17103// Non-destructive heap cursor, returns heap elements in sorted order.
17104// A running front of potential smallest entries is kept in the helper heap (curs.temp_%)
17105struct field_bh_bitfld_curs {
17106    typedef amc::FBitfld ChildType;
17107    amc::FField      *parent;        // parent
17108    amc::FBitfld*     *temp_elems;    // helper heap
17109    int            temp_n;        // number of elements heaped in the helper heap
17110    int            temp_max;      // max number of elements possible in the helper heap
17111    field_bh_bitfld_curs() : parent(NULL), temp_elems(NULL), temp_n(0), temp_max(0) {}
17112    ~field_bh_bitfld_curs();
17113};
17114
17115
17116struct field_c_ffast_curs {// fcurs:amc.FField.c_ffast/curs
17117    typedef amc::FFfast ChildType;
17118    amc::FFfast** elems;
17119    u32 n_elems;
17120    u32 index;
17121    field_c_ffast_curs() { elems=NULL; n_elems=0; index=0; }
17122};
17123
17124
17125struct field_c_pmaskfld_member_curs {// fcurs:amc.FField.c_pmaskfld_member/curs
17126    typedef amc::FPmaskfldMember ChildType;
17127    amc::FPmaskfldMember** elems;
17128    u32 n_elems;
17129    u32 index;
17130    field_c_pmaskfld_member_curs() { elems=NULL; n_elems=0; index=0; }
17131};
17132
17133
17134struct func_funcarg_curs {// cursor
17135    typedef amc::Funcarg ChildType;
17136    amc::Funcarg* elems;
17137    int n_elems;
17138    int index;
17139    func_funcarg_curs() { elems=NULL; n_elems=0; index=0; }
17140};
17141
17142
17143struct FGenXref_seen_curs {// cursor
17144    typedef amc::FGenXrefSeen ChildType;
17145    amc::FGenXref *parent;
17146    i64 index;
17147    FGenXref_seen_curs(){ parent=NULL; index=0; }
17148};
17149
17150
17151struct ns_c_ctype_curs {// fcurs:amc.FNs.c_ctype/curs
17152    typedef amc::FCtype ChildType;
17153    amc::FCtype** elems;
17154    u32 n_elems;
17155    u32 index;
17156    ns_c_ctype_curs() { elems=NULL; n_elems=0; index=0; }
17157};
17158
17159
17160struct ns_c_func_curs {// fcurs:amc.FNs.c_func/curs
17161    typedef amc::FFunc ChildType;
17162    amc::FFunc** elems;
17163    u32 n_elems;
17164    u32 index;
17165    ns_c_func_curs() { elems=NULL; n_elems=0; index=0; }
17166};
17167
17168
17169struct ns_c_dispatch_curs {// fcurs:amc.FNs.c_dispatch/curs
17170    typedef amc::FDispatch ChildType;
17171    amc::FDispatch** elems;
17172    u32 n_elems;
17173    u32 index;
17174    ns_c_dispatch_curs() { elems=NULL; n_elems=0; index=0; }
17175};
17176
17177
17178struct ns_c_gstatic_curs {// fcurs:amc.FNs.c_gstatic/curs
17179    typedef amc::FGstatic ChildType;
17180    amc::FGstatic** elems;
17181    u32 n_elems;
17182    u32 index;
17183    ns_c_gstatic_curs() { elems=NULL; n_elems=0; index=0; }
17184};
17185
17186
17187struct ns_include_curs {// cursor
17188    typedef algo::cstring ChildType;
17189    algo::cstring* elems;
17190    int n_elems;
17191    int index;
17192    ns_include_curs() { elems=NULL; n_elems=0; index=0; }
17193};
17194
17195
17196struct ns_c_dispsig_curs {// fcurs:amc.FNs.c_dispsig/curs
17197    typedef amc::FDispsig ChildType;
17198    amc::FDispsig** elems;
17199    u32 n_elems;
17200    u32 index;
17201    ns_c_dispsig_curs() { elems=NULL; n_elems=0; index=0; }
17202};
17203
17204
17205struct ns_c_parentns_curs {// fcurs:amc.FNs.c_parentns/curs
17206    typedef amc::FNs ChildType;
17207    amc::FNs** elems;
17208    u32 n_elems;
17209    u32 index;
17210    ns_c_parentns_curs() { elems=NULL; n_elems=0; index=0; }
17211};
17212
17213
17214struct ns_c_cppincl_curs {// fcurs:amc.FNs.c_cppincl/curs
17215    typedef amc::FNs ChildType;
17216    amc::FNs** elems;
17217    u32 n_elems;
17218    u32 index;
17219    ns_c_cppincl_curs() { elems=NULL; n_elems=0; index=0; }
17220};
17221
17222
17223struct ns_c_hdrincl_curs {// fcurs:amc.FNs.c_hdrincl/curs
17224    typedef amc::FNs ChildType;
17225    amc::FNs** elems;
17226    u32 n_elems;
17227    u32 index;
17228    ns_c_hdrincl_curs() { elems=NULL; n_elems=0; index=0; }
17229};
17230
17231
17232struct ns_c_fwddecl_curs {// fcurs:amc.FNs.c_fwddecl/curs
17233    typedef amc::FFwddecl ChildType;
17234    amc::FFwddecl** elems;
17235    u32 n_elems;
17236    u32 index;
17237    ns_c_fwddecl_curs() { elems=NULL; n_elems=0; index=0; }
17238};
17239
17240
17241struct ns_c_pnew_curs {// fcurs:amc.FNs.c_pnew/curs
17242    typedef amc::FPnew ChildType;
17243    amc::FPnew** elems;
17244    u32 n_elems;
17245    u32 index;
17246    ns_c_pnew_curs() { elems=NULL; n_elems=0; index=0; }
17247};
17248
17249
17250struct ns_c_outfile_curs {// fcurs:amc.FNs.c_outfile/curs
17251    typedef amc::FOutfile ChildType;
17252    amc::FOutfile** elems;
17253    u32 n_elems;
17254    u32 index;
17255    ns_c_outfile_curs() { elems=NULL; n_elems=0; index=0; }
17256};
17257
17258
17259struct ns_c_foutput_curs {// fcurs:amc.FNs.c_foutput/curs
17260    typedef amc::FFoutput ChildType;
17261    amc::FFoutput** elems;
17262    u32 n_elems;
17263    u32 index;
17264    ns_c_foutput_curs() { elems=NULL; n_elems=0; index=0; }
17265};
17266
17267
17268struct ns_c_fstep_curs {// fcurs:amc.FNs.c_fstep/curs
17269    typedef amc::FFstep ChildType;
17270    amc::FFstep** elems;
17271    u32 n_elems;
17272    u32 index;
17273    ns_c_fstep_curs() { elems=NULL; n_elems=0; index=0; }
17274};
17275
17276
17277struct ns_c_gsymbol_curs {// fcurs:amc.FNs.c_gsymbol/curs
17278    typedef amc::FGsymbol ChildType;
17279    amc::FGsymbol** elems;
17280    u32 n_elems;
17281    u32 index;
17282    ns_c_gsymbol_curs() { elems=NULL; n_elems=0; index=0; }
17283};
17284
17285
17286struct ns_c_nsinclude_curs {// fcurs:amc.FNs.c_nsinclude/curs
17287    typedef amc::FNsinclude ChildType;
17288    amc::FNsinclude** elems;
17289    u32 n_elems;
17290    u32 index;
17291    ns_c_nsinclude_curs() { elems=NULL; n_elems=0; index=0; }
17292};
17293
17294
17295struct pmaskfld_c_pmaskfld_member_curs {// fcurs:amc.FPmaskfld.c_pmaskfld_member/curs
17296    typedef amc::FPmaskfldMember ChildType;
17297    amc::FPmaskfldMember** elems;
17298    u32 n_elems;
17299    u32 index;
17300    pmaskfld_c_pmaskfld_member_curs() { elems=NULL; n_elems=0; index=0; }
17301};
17302
17303
17304struct reftype_zs_fprefix_curs {// fcurs:amc.FReftype.zs_fprefix/curs
17305    typedef amc::FFprefix ChildType;
17306    amc::FFprefix* row;
17307    reftype_zs_fprefix_curs() {
17308        row = NULL;
17309    }
17310};
17311
17312
17313struct target_c_targdep_curs {// fcurs:amc.FTarget.c_targdep/curs
17314    typedef amc::FTargdep ChildType;
17315    amc::FTargdep** elems;
17316    u32 n_elems;
17317    u32 index;
17318    target_c_targdep_curs() { elems=NULL; n_elems=0; index=0; }
17319};
17320
17321} // gen:ns_curstext
17322namespace amc { // gen:ns_func
17323// User-implemented function from gstatic:amc.FDb.tclass
17324// func:amc...tclass_Alias
17325// this function is 'extrn' and implemented by user
17326void                 tclass_Alias();
17327// User-implemented function from gstatic:amc.FDb.tclass
17328// func:amc...tclass_Atree
17329// this function is 'extrn' and implemented by user
17330void                 tclass_Atree();
17331// User-implemented function from gstatic:amc.FDb.tclass
17332// func:amc...tclass_Base
17333// this function is 'extrn' and implemented by user
17334void                 tclass_Base();
17335// User-implemented function from gstatic:amc.FDb.tclass
17336// func:amc...tclass_Bheap
17337// this function is 'extrn' and implemented by user
17338void                 tclass_Bheap();
17339// User-implemented function from gstatic:amc.FDb.tclass
17340// func:amc...tclass_Bitfld
17341// this function is 'extrn' and implemented by user
17342void                 tclass_Bitfld();
17343// User-implemented function from gstatic:amc.FDb.tclass
17344// func:amc...tclass_Bitset
17345// this function is 'extrn' and implemented by user
17346void                 tclass_Bitset();
17347// User-implemented function from gstatic:amc.FDb.tclass
17348// func:amc...tclass_Blkpool
17349// this function is 'extrn' and implemented by user
17350void                 tclass_Blkpool();
17351// User-implemented function from gstatic:amc.FDb.tclass
17352// func:amc...tclass_Charset
17353// this function is 'extrn' and implemented by user
17354void                 tclass_Charset();
17355// User-implemented function from gstatic:amc.FDb.tclass
17356// func:amc...tclass_Cmp
17357// this function is 'extrn' and implemented by user
17358void                 tclass_Cmp();
17359// User-implemented function from gstatic:amc.FDb.tclass
17360// func:amc...tclass_Count
17361// this function is 'extrn' and implemented by user
17362void                 tclass_Count();
17363// User-implemented function from gstatic:amc.FDb.tclass
17364// func:amc...tclass_Cppfunc
17365// this function is 'extrn' and implemented by user
17366void                 tclass_Cppfunc();
17367// User-implemented function from gstatic:amc.FDb.tclass
17368// func:amc...tclass_Cppstack
17369// this function is 'extrn' and implemented by user
17370void                 tclass_Cppstack();
17371// User-implemented function from gstatic:amc.FDb.tclass
17372// func:amc...tclass_Ctype
17373// this function is 'extrn' and implemented by user
17374void                 tclass_Ctype();
17375// User-implemented function from gstatic:amc.FDb.tclass
17376// func:amc...tclass_Dec
17377// this function is 'extrn' and implemented by user
17378void                 tclass_Dec();
17379// User-implemented function from gstatic:amc.FDb.tclass
17380// func:amc...tclass_Delptr
17381// this function is 'extrn' and implemented by user
17382void                 tclass_Delptr();
17383// User-implemented function from gstatic:amc.FDb.tclass
17384// func:amc...tclass_Exec
17385// this function is 'extrn' and implemented by user
17386void                 tclass_Exec();
17387// User-implemented function from gstatic:amc.FDb.tclass
17388// func:amc...tclass_Fbuf
17389// this function is 'extrn' and implemented by user
17390void                 tclass_Fbuf();
17391// User-implemented function from gstatic:amc.FDb.tclass
17392// func:amc...tclass_Fcast
17393// this function is 'extrn' and implemented by user
17394void                 tclass_Fcast();
17395// User-implemented function from gstatic:amc.FDb.tclass
17396// func:amc...tclass_Fconst
17397// this function is 'extrn' and implemented by user
17398void                 tclass_Fconst();
17399// User-implemented function from gstatic:amc.FDb.tclass
17400// func:amc...tclass_Field
17401// this function is 'extrn' and implemented by user
17402void                 tclass_Field();
17403// User-implemented function from gstatic:amc.FDb.tclass
17404// func:amc...tclass_Field2
17405// this function is 'extrn' and implemented by user
17406void                 tclass_Field2();
17407// User-implemented function from gstatic:amc.FDb.tclass
17408// func:amc...tclass_Global
17409// this function is 'extrn' and implemented by user
17410void                 tclass_Global();
17411// User-implemented function from gstatic:amc.FDb.tclass
17412// func:amc...tclass_Hook
17413// this function is 'extrn' and implemented by user
17414void                 tclass_Hook();
17415// User-implemented function from gstatic:amc.FDb.tclass
17416// func:amc...tclass_Inlary
17417// this function is 'extrn' and implemented by user
17418void                 tclass_Inlary();
17419// User-implemented function from gstatic:amc.FDb.tclass
17420// func:amc...tclass_Io
17421// this function is 'extrn' and implemented by user
17422void                 tclass_Io();
17423// User-implemented function from gstatic:amc.FDb.tclass
17424// func:amc...tclass_Lary
17425// this function is 'extrn' and implemented by user
17426void                 tclass_Lary();
17427// User-implemented function from gstatic:amc.FDb.tclass
17428// func:amc...tclass_Llist
17429// this function is 'extrn' and implemented by user
17430void                 tclass_Llist();
17431// User-implemented function from gstatic:amc.FDb.tclass
17432// func:amc...tclass_Lpool
17433// this function is 'extrn' and implemented by user
17434void                 tclass_Lpool();
17435// User-implemented function from gstatic:amc.FDb.tclass
17436// func:amc...tclass_Malloc
17437// this function is 'extrn' and implemented by user
17438void                 tclass_Malloc();
17439// User-implemented function from gstatic:amc.FDb.tclass
17440// func:amc...tclass_Ns
17441// this function is 'extrn' and implemented by user
17442void                 tclass_Ns();
17443// User-implemented function from gstatic:amc.FDb.tclass
17444// func:amc...tclass_Numstr
17445// this function is 'extrn' and implemented by user
17446void                 tclass_Numstr();
17447// User-implemented function from gstatic:amc.FDb.tclass
17448// func:amc...tclass_Opt
17449// this function is 'extrn' and implemented by user
17450void                 tclass_Opt();
17451// User-implemented function from gstatic:amc.FDb.tclass
17452// func:amc...tclass_Pkey
17453// this function is 'extrn' and implemented by user
17454void                 tclass_Pkey();
17455// User-implemented function from gstatic:amc.FDb.tclass
17456// func:amc...tclass_Pmask
17457// this function is 'extrn' and implemented by user
17458void                 tclass_Pmask();
17459// User-implemented function from gstatic:amc.FDb.tclass
17460// func:amc...tclass_Pool
17461// this function is 'extrn' and implemented by user
17462void                 tclass_Pool();
17463// User-implemented function from gstatic:amc.FDb.tclass
17464// func:amc...tclass_Ptr
17465// this function is 'extrn' and implemented by user
17466void                 tclass_Ptr();
17467// User-implemented function from gstatic:amc.FDb.tclass
17468// func:amc...tclass_Ptrary
17469// this function is 'extrn' and implemented by user
17470void                 tclass_Ptrary();
17471// User-implemented function from gstatic:amc.FDb.tclass
17472// func:amc...tclass_Regx
17473// this function is 'extrn' and implemented by user
17474void                 tclass_Regx();
17475// User-implemented function from gstatic:amc.FDb.tclass
17476// func:amc...tclass_RegxSql
17477// this function is 'extrn' and implemented by user
17478void                 tclass_RegxSql();
17479// User-implemented function from gstatic:amc.FDb.tclass
17480// func:amc...tclass_Sbrk
17481// this function is 'extrn' and implemented by user
17482void                 tclass_Sbrk();
17483// User-implemented function from gstatic:amc.FDb.tclass
17484// func:amc...tclass_Smallstr
17485// this function is 'extrn' and implemented by user
17486void                 tclass_Smallstr();
17487// User-implemented function from gstatic:amc.FDb.tclass
17488// func:amc...tclass_Sort
17489// this function is 'extrn' and implemented by user
17490void                 tclass_Sort();
17491// User-implemented function from gstatic:amc.FDb.tclass
17492// func:amc...tclass_Step
17493// this function is 'extrn' and implemented by user
17494void                 tclass_Step();
17495// User-implemented function from gstatic:amc.FDb.tclass
17496// func:amc...tclass_Substr
17497// this function is 'extrn' and implemented by user
17498void                 tclass_Substr();
17499// User-implemented function from gstatic:amc.FDb.tclass
17500// func:amc...tclass_Tary
17501// this function is 'extrn' and implemented by user
17502void                 tclass_Tary();
17503// User-implemented function from gstatic:amc.FDb.tclass
17504// func:amc...tclass_Thash
17505// this function is 'extrn' and implemented by user
17506void                 tclass_Thash();
17507// User-implemented function from gstatic:amc.FDb.tclass
17508// func:amc...tclass_Tpool
17509// this function is 'extrn' and implemented by user
17510void                 tclass_Tpool();
17511// User-implemented function from gstatic:amc.FDb.tclass
17512// func:amc...tclass_Upptr
17513// this function is 'extrn' and implemented by user
17514void                 tclass_Upptr();
17515// User-implemented function from gstatic:amc.FDb.tclass
17516// func:amc...tclass_Val
17517// this function is 'extrn' and implemented by user
17518void                 tclass_Val();
17519// User-implemented function from gstatic:amc.FDb.tclass
17520// func:amc...tclass_Varlen
17521// this function is 'extrn' and implemented by user
17522void                 tclass_Varlen();
17523// User-implemented function from gstatic:amc.FDb.tclass
17524// func:amc...tclass_ZSListMT
17525// this function is 'extrn' and implemented by user
17526void                 tclass_ZSListMT();
17527// User-implemented function from gstatic:amc.FDb.tfunc
17528// func:amc...tfunc_Alias_Get
17529// this function is 'extrn' and implemented by user
17530void                 tfunc_Alias_Get();
17531// User-implemented function from gstatic:amc.FDb.tfunc
17532// func:amc...tfunc_Alias_Set
17533// this function is 'extrn' and implemented by user
17534void                 tfunc_Alias_Set();
17535// User-implemented function from gstatic:amc.FDb.tfunc
17536// func:amc...tfunc_Alias_ReadStrptrMaybe
17537// this function is 'extrn' and implemented by user
17538void                 tfunc_Alias_ReadStrptrMaybe();
17539// User-implemented function from gstatic:amc.FDb.tfunc
17540// func:amc...tfunc_Atree_Cascdel
17541// this function is 'extrn' and implemented by user
17542void                 tfunc_Atree_Cascdel();
17543// User-implemented function from gstatic:amc.FDb.tfunc
17544// func:amc...tfunc_Atree_EmptyQ
17545// this function is 'extrn' and implemented by user
17546void                 tfunc_Atree_EmptyQ();
17547// User-implemented function from gstatic:amc.FDb.tfunc
17548// func:amc...tfunc_Atree_FirstImpl
17549// this function is 'extrn' and implemented by user
17550void                 tfunc_Atree_FirstImpl();
17551// User-implemented function from gstatic:amc.FDb.tfunc
17552// func:amc...tfunc_Atree_First
17553// this function is 'extrn' and implemented by user
17554void                 tfunc_Atree_First();
17555// User-implemented function from gstatic:amc.FDb.tfunc
17556// func:amc...tfunc_Atree_InTreeQ
17557// this function is 'extrn' and implemented by user
17558void                 tfunc_Atree_InTreeQ();
17559// User-implemented function from gstatic:amc.FDb.tfunc
17560// func:amc...tfunc_Atree_Init
17561// this function is 'extrn' and implemented by user
17562void                 tfunc_Atree_Init();
17563// User-implemented function from gstatic:amc.FDb.tfunc
17564// func:amc...tfunc_Atree_InsertImpl
17565// this function is 'extrn' and implemented by user
17566void                 tfunc_Atree_InsertImpl();
17567// User-implemented function from gstatic:amc.FDb.tfunc
17568// func:amc...tfunc_Atree_Insert
17569// this function is 'extrn' and implemented by user
17570void                 tfunc_Atree_Insert();
17571// User-implemented function from gstatic:amc.FDb.tfunc
17572// func:amc...tfunc_Atree_Remove
17573// this function is 'extrn' and implemented by user
17574void                 tfunc_Atree_Remove();
17575// User-implemented function from gstatic:amc.FDb.tfunc
17576// func:amc...tfunc_Atree_RemoveAll
17577// this function is 'extrn' and implemented by user
17578void                 tfunc_Atree_RemoveAll();
17579// User-implemented function from gstatic:amc.FDb.tfunc
17580// func:amc...tfunc_Atree_RemoveFirst
17581// this function is 'extrn' and implemented by user
17582void                 tfunc_Atree_RemoveFirst();
17583// User-implemented function from gstatic:amc.FDb.tfunc
17584// func:amc...tfunc_Atree_Balance
17585// this function is 'extrn' and implemented by user
17586void                 tfunc_Atree_Balance();
17587// User-implemented function from gstatic:amc.FDb.tfunc
17588// func:amc...tfunc_Atree_Propagate
17589// this function is 'extrn' and implemented by user
17590void                 tfunc_Atree_Propagate();
17591// User-implemented function from gstatic:amc.FDb.tfunc
17592// func:amc...tfunc_Atree_TallerChild
17593// this function is 'extrn' and implemented by user
17594void                 tfunc_Atree_TallerChild();
17595// User-implemented function from gstatic:amc.FDb.tfunc
17596// func:amc...tfunc_Atree_Disconnect
17597// this function is 'extrn' and implemented by user
17598void                 tfunc_Atree_Disconnect();
17599// User-implemented function from gstatic:amc.FDb.tfunc
17600// func:amc...tfunc_Atree_Rebalance
17601// this function is 'extrn' and implemented by user
17602void                 tfunc_Atree_Rebalance();
17603// User-implemented function from gstatic:amc.FDb.tfunc
17604// func:amc...tfunc_Atree_Next
17605// this function is 'extrn' and implemented by user
17606void                 tfunc_Atree_Next();
17607// User-implemented function from gstatic:amc.FDb.tfunc
17608// func:amc...tfunc_Atree_Prev
17609// this function is 'extrn' and implemented by user
17610void                 tfunc_Atree_Prev();
17611// User-implemented function from gstatic:amc.FDb.tfunc
17612// func:amc...tfunc_Atree_LastImpl
17613// this function is 'extrn' and implemented by user
17614void                 tfunc_Atree_LastImpl();
17615// User-implemented function from gstatic:amc.FDb.tfunc
17616// func:amc...tfunc_Atree_Last
17617// this function is 'extrn' and implemented by user
17618void                 tfunc_Atree_Last();
17619// User-implemented function from gstatic:amc.FDb.tfunc
17620// func:amc...tfunc_Atree_ElemLt
17621// this function is 'extrn' and implemented by user
17622void                 tfunc_Atree_ElemLt();
17623// User-implemented function from gstatic:amc.FDb.tfunc
17624// func:amc...tfunc_Atree_UpdateDepth
17625// this function is 'extrn' and implemented by user
17626void                 tfunc_Atree_UpdateDepth();
17627// User-implemented function from gstatic:amc.FDb.tfunc
17628// func:amc...tfunc_Atree_Turn
17629// this function is 'extrn' and implemented by user
17630void                 tfunc_Atree_Turn();
17631// User-implemented function from gstatic:amc.FDb.tfunc
17632// func:amc...tfunc_Atree_Connect
17633// this function is 'extrn' and implemented by user
17634void                 tfunc_Atree_Connect();
17635// User-implemented function from gstatic:amc.FDb.tfunc
17636// func:amc...tfunc_Atree_curs
17637// this function is 'extrn' and implemented by user
17638void                 tfunc_Atree_curs();
17639// User-implemented function from gstatic:amc.FDb.tfunc
17640// func:amc...tfunc_Atree_RemoveAllImpl
17641// this function is 'extrn' and implemented by user
17642void                 tfunc_Atree_RemoveAllImpl();
17643// User-implemented function from gstatic:amc.FDb.tfunc
17644// func:amc...tfunc_Atree_Reinsert
17645// this function is 'extrn' and implemented by user
17646void                 tfunc_Atree_Reinsert();
17647// User-implemented function from gstatic:amc.FDb.tfunc
17648// func:amc...tfunc_Atree_FirstGe
17649// this function is 'extrn' and implemented by user
17650void                 tfunc_Atree_FirstGe();
17651// User-implemented function from gstatic:amc.FDb.tfunc
17652// func:amc...tfunc_Atree_LastLt
17653// this function is 'extrn' and implemented by user
17654void                 tfunc_Atree_LastLt();
17655// User-implemented function from gstatic:amc.FDb.tfunc
17656// func:amc...tfunc_Base_CopyOut
17657// this function is 'extrn' and implemented by user
17658void                 tfunc_Base_CopyOut();
17659// User-implemented function from gstatic:amc.FDb.tfunc
17660// func:amc...tfunc_Base_Castdown
17661// this function is 'extrn' and implemented by user
17662void                 tfunc_Base_Castdown();
17663// User-implemented function from gstatic:amc.FDb.tfunc
17664// func:amc...tfunc_Base_Castbase
17665// this function is 'extrn' and implemented by user
17666void                 tfunc_Base_Castbase();
17667// User-implemented function from gstatic:amc.FDb.tfunc
17668// func:amc...tfunc_Base_CopyIn
17669// this function is 'extrn' and implemented by user
17670void                 tfunc_Base_CopyIn();
17671// User-implemented function from gstatic:amc.FDb.tfunc
17672// func:amc...tfunc_Bheap_Cascdel
17673// this function is 'extrn' and implemented by user
17674void                 tfunc_Bheap_Cascdel();
17675// User-implemented function from gstatic:amc.FDb.tfunc
17676// func:amc...tfunc_Bheap_Compact
17677// this function is 'extrn' and implemented by user
17678void                 tfunc_Bheap_Compact();
17679// User-implemented function from gstatic:amc.FDb.tfunc
17680// func:amc...tfunc_Bheap_Dealloc
17681// this function is 'extrn' and implemented by user
17682void                 tfunc_Bheap_Dealloc();
17683// User-implemented function from gstatic:amc.FDb.tfunc
17684// func:amc...tfunc_Bheap_Downheap
17685// this function is 'extrn' and implemented by user
17686void                 tfunc_Bheap_Downheap();
17687// User-implemented function from gstatic:amc.FDb.tfunc
17688// func:amc...tfunc_Bheap_EmptyQ
17689// this function is 'extrn' and implemented by user
17690void                 tfunc_Bheap_EmptyQ();
17691// User-implemented function from gstatic:amc.FDb.tfunc
17692// func:amc...tfunc_Bheap_First
17693// this function is 'extrn' and implemented by user
17694void                 tfunc_Bheap_First();
17695// User-implemented function from gstatic:amc.FDb.tfunc
17696// func:amc...tfunc_Bheap_InBheapQ
17697// this function is 'extrn' and implemented by user
17698void                 tfunc_Bheap_InBheapQ();
17699// User-implemented function from gstatic:amc.FDb.tfunc
17700// func:amc...tfunc_Bheap_Init
17701// this function is 'extrn' and implemented by user
17702void                 tfunc_Bheap_Init();
17703// User-implemented function from gstatic:amc.FDb.tfunc
17704// func:amc...tfunc_Bheap_Insert
17705// this function is 'extrn' and implemented by user
17706void                 tfunc_Bheap_Insert();
17707// User-implemented function from gstatic:amc.FDb.tfunc
17708// func:amc...tfunc_Bheap_N
17709// this function is 'extrn' and implemented by user
17710void                 tfunc_Bheap_N();
17711// User-implemented function from gstatic:amc.FDb.tfunc
17712// func:amc...tfunc_Bheap_Reheap
17713// this function is 'extrn' and implemented by user
17714void                 tfunc_Bheap_Reheap();
17715// User-implemented function from gstatic:amc.FDb.tfunc
17716// func:amc...tfunc_Bheap_ReheapFirst
17717// this function is 'extrn' and implemented by user
17718void                 tfunc_Bheap_ReheapFirst();
17719// User-implemented function from gstatic:amc.FDb.tfunc
17720// func:amc...tfunc_Bheap_Remove
17721// this function is 'extrn' and implemented by user
17722void                 tfunc_Bheap_Remove();
17723// User-implemented function from gstatic:amc.FDb.tfunc
17724// func:amc...tfunc_Bheap_RemoveAll
17725// this function is 'extrn' and implemented by user
17726void                 tfunc_Bheap_RemoveAll();
17727// User-implemented function from gstatic:amc.FDb.tfunc
17728// func:amc...tfunc_Bheap_RemoveFirst
17729// this function is 'extrn' and implemented by user
17730void                 tfunc_Bheap_RemoveFirst();
17731// User-implemented function from gstatic:amc.FDb.tfunc
17732// func:amc...tfunc_Bheap_Reserve
17733// this function is 'extrn' and implemented by user
17734void                 tfunc_Bheap_Reserve();
17735// User-implemented function from gstatic:amc.FDb.tfunc
17736// func:amc...tfunc_Bheap_Set
17737// this function is 'extrn' and implemented by user
17738void                 tfunc_Bheap_Set();
17739// User-implemented function from gstatic:amc.FDb.tfunc
17740// func:amc...tfunc_Bheap_SetIfBetter
17741// this function is 'extrn' and implemented by user
17742void                 tfunc_Bheap_SetIfBetter();
17743// User-implemented function from gstatic:amc.FDb.tfunc
17744// func:amc...tfunc_Bheap_Uninit
17745// this function is 'extrn' and implemented by user
17746void                 tfunc_Bheap_Uninit();
17747// User-implemented function from gstatic:amc.FDb.tfunc
17748// func:amc...tfunc_Bheap_Upheap
17749// this function is 'extrn' and implemented by user
17750void                 tfunc_Bheap_Upheap();
17751// User-implemented function from gstatic:amc.FDb.tfunc
17752// func:amc...tfunc_Bheap_ElemLt
17753// this function is 'extrn' and implemented by user
17754void                 tfunc_Bheap_ElemLt();
17755// User-implemented function from gstatic:amc.FDb.tfunc
17756// func:amc...tfunc_Bheap_ElemLtval
17757// this function is 'extrn' and implemented by user
17758void                 tfunc_Bheap_ElemLtval();
17759// User-implemented function from gstatic:amc.FDb.tfunc
17760// func:amc...tfunc_Bheap_curs
17761// this function is 'extrn' and implemented by user
17762void                 tfunc_Bheap_curs();
17763// User-implemented function from gstatic:amc.FDb.tfunc
17764// func:amc...tfunc_Bheap_unordcurs
17765// this function is 'extrn' and implemented by user
17766void                 tfunc_Bheap_unordcurs();
17767// User-implemented function from gstatic:amc.FDb.tfunc
17768// func:amc...tfunc_Bitfld_Get
17769// this function is 'extrn' and implemented by user
17770void                 tfunc_Bitfld_Get();
17771// User-implemented function from gstatic:amc.FDb.tfunc
17772// func:amc...tfunc_Bitfld_Init
17773// this function is 'extrn' and implemented by user
17774void                 tfunc_Bitfld_Init();
17775// User-implemented function from gstatic:amc.FDb.tfunc
17776// func:amc...tfunc_Bitfld_Set
17777// this function is 'extrn' and implemented by user
17778void                 tfunc_Bitfld_Set();
17779// User-implemented function from gstatic:amc.FDb.tfunc
17780// func:amc...tfunc_Bitset_N
17781// this function is 'extrn' and implemented by user
17782void                 tfunc_Bitset_N();
17783// User-implemented function from gstatic:amc.FDb.tfunc
17784// func:amc...tfunc_Bitset_qFind
17785// this function is 'extrn' and implemented by user
17786void                 tfunc_Bitset_qFind();
17787// User-implemented function from gstatic:amc.FDb.tfunc
17788// func:amc...tfunc_Bitset_NBits
17789// this function is 'extrn' and implemented by user
17790void                 tfunc_Bitset_NBits();
17791// User-implemented function from gstatic:amc.FDb.tfunc
17792// func:amc...tfunc_Bitset_qGetBit
17793// this function is 'extrn' and implemented by user
17794void                 tfunc_Bitset_qGetBit();
17795// User-implemented function from gstatic:amc.FDb.tfunc
17796// func:amc...tfunc_Bitset_GetBit
17797// this function is 'extrn' and implemented by user
17798void                 tfunc_Bitset_GetBit();
17799// User-implemented function from gstatic:amc.FDb.tfunc
17800// func:amc...tfunc_Bitset_BitsEmptyQ
17801// this function is 'extrn' and implemented by user
17802void                 tfunc_Bitset_BitsEmptyQ();
17803// User-implemented function from gstatic:amc.FDb.tfunc
17804// func:amc...tfunc_Bitset_Sum1s
17805// this function is 'extrn' and implemented by user
17806void                 tfunc_Bitset_Sum1s();
17807// User-implemented function from gstatic:amc.FDb.tfunc
17808// func:amc...tfunc_Bitset_qClearBit
17809// this function is 'extrn' and implemented by user
17810void                 tfunc_Bitset_qClearBit();
17811// User-implemented function from gstatic:amc.FDb.tfunc
17812// func:amc...tfunc_Bitset_ClearBit
17813// this function is 'extrn' and implemented by user
17814void                 tfunc_Bitset_ClearBit();
17815// User-implemented function from gstatic:amc.FDb.tfunc
17816// func:amc...tfunc_Bitset_qSetBit
17817// this function is 'extrn' and implemented by user
17818void                 tfunc_Bitset_qSetBit();
17819// User-implemented function from gstatic:amc.FDb.tfunc
17820// func:amc...tfunc_Bitset_SetBit
17821// this function is 'extrn' and implemented by user
17822void                 tfunc_Bitset_SetBit();
17823// User-implemented function from gstatic:amc.FDb.tfunc
17824// func:amc...tfunc_Bitset_qSetBitVal
17825// this function is 'extrn' and implemented by user
17826void                 tfunc_Bitset_qSetBitVal();
17827// User-implemented function from gstatic:amc.FDb.tfunc
17828// func:amc...tfunc_Bitset_qOrBitVal
17829// this function is 'extrn' and implemented by user
17830void                 tfunc_Bitset_qOrBitVal();
17831// User-implemented function from gstatic:amc.FDb.tfunc
17832// func:amc...tfunc_Bitset_ClearBitsAll
17833// this function is 'extrn' and implemented by user
17834void                 tfunc_Bitset_ClearBitsAll();
17835// User-implemented function from gstatic:amc.FDb.tfunc
17836// func:amc...tfunc_Bitset_ClearBits
17837// this function is 'extrn' and implemented by user
17838void                 tfunc_Bitset_ClearBits();
17839// User-implemented function from gstatic:amc.FDb.tfunc
17840// func:amc...tfunc_Bitset_OrBits
17841// this function is 'extrn' and implemented by user
17842void                 tfunc_Bitset_OrBits();
17843// User-implemented function from gstatic:amc.FDb.tfunc
17844// func:amc...tfunc_Bitset_ExpandBits
17845// this function is 'extrn' and implemented by user
17846void                 tfunc_Bitset_ExpandBits();
17847// User-implemented function from gstatic:amc.FDb.tfunc
17848// func:amc...tfunc_Bitset_AllocBit
17849// this function is 'extrn' and implemented by user
17850void                 tfunc_Bitset_AllocBit();
17851// User-implemented function from gstatic:amc.FDb.tfunc
17852// func:amc...tfunc_Bitset_Sup
17853// this function is 'extrn' and implemented by user
17854void                 tfunc_Bitset_Sup();
17855// User-implemented function from gstatic:amc.FDb.tfunc
17856// func:amc...tfunc_Bitset_bitcurs
17857// this function is 'extrn' and implemented by user
17858void                 tfunc_Bitset_bitcurs();
17859// User-implemented function from gstatic:amc.FDb.tfunc
17860// func:amc...tfunc_Blkpool_AllocMem
17861// this function is 'extrn' and implemented by user
17862void                 tfunc_Blkpool_AllocMem();
17863// User-implemented function from gstatic:amc.FDb.tfunc
17864// func:amc...tfunc_Blkpool_SetBufferSize
17865// this function is 'extrn' and implemented by user
17866void                 tfunc_Blkpool_SetBufferSize();
17867// User-implemented function from gstatic:amc.FDb.tfunc
17868// func:amc...tfunc_Blkpool_ReserveBuffers
17869// this function is 'extrn' and implemented by user
17870void                 tfunc_Blkpool_ReserveBuffers();
17871// User-implemented function from gstatic:amc.FDb.tfunc
17872// func:amc...tfunc_Blkpool_FreeMem
17873// this function is 'extrn' and implemented by user
17874void                 tfunc_Blkpool_FreeMem();
17875// User-implemented function from gstatic:amc.FDb.tfunc
17876// func:amc...tfunc_Blkpool_Init
17877// this function is 'extrn' and implemented by user
17878void                 tfunc_Blkpool_Init();
17879// User-implemented function from gstatic:amc.FDb.tfunc
17880// func:amc...tfunc_Charset_Match
17881// this function is 'extrn' and implemented by user
17882void                 tfunc_Charset_Match();
17883// User-implemented function from gstatic:amc.FDb.tfunc
17884// func:amc...tfunc_Cmp_Nextchar
17885// this function is 'extrn' and implemented by user
17886void                 tfunc_Cmp_Nextchar();
17887// User-implemented function from gstatic:amc.FDb.tfunc
17888// func:amc...tfunc_Cmp_Lt
17889// this function is 'extrn' and implemented by user
17890void                 tfunc_Cmp_Lt();
17891// User-implemented function from gstatic:amc.FDb.tfunc
17892// func:amc...tfunc_Cmp_Cmp
17893// this function is 'extrn' and implemented by user
17894void                 tfunc_Cmp_Cmp();
17895// User-implemented function from gstatic:amc.FDb.tfunc
17896// func:amc...tfunc_Count_Insert
17897// this function is 'extrn' and implemented by user
17898void                 tfunc_Count_Insert();
17899// User-implemented function from gstatic:amc.FDb.tfunc
17900// func:amc...tfunc_Count_Remove
17901// this function is 'extrn' and implemented by user
17902void                 tfunc_Count_Remove();
17903// User-implemented function from gstatic:amc.FDb.tfunc
17904// func:amc...tfunc_Count_N
17905// this function is 'extrn' and implemented by user
17906void                 tfunc_Count_N();
17907// User-implemented function from gstatic:amc.FDb.tfunc
17908// func:amc...tfunc_Cppfunc_Init
17909// this function is 'extrn' and implemented by user
17910void                 tfunc_Cppfunc_Init();
17911// User-implemented function from gstatic:amc.FDb.tfunc
17912// func:amc...tfunc_Cppfunc_Get
17913// this function is 'extrn' and implemented by user
17914void                 tfunc_Cppfunc_Get();
17915// User-implemented function from gstatic:amc.FDb.tfunc
17916// func:amc...tfunc_Cppfunc_Set
17917// this function is 'extrn' and implemented by user
17918void                 tfunc_Cppfunc_Set();
17919// User-implemented function from gstatic:amc.FDb.tfunc
17920// func:amc...tfunc_Ctype_Hash
17921// this function is 'extrn' and implemented by user
17922void                 tfunc_Ctype_Hash();
17923// User-implemented function from gstatic:amc.FDb.tfunc
17924// func:amc...tfunc_Ctype_XrefMaybe
17925// this function is 'extrn' and implemented by user
17926void                 tfunc_Ctype_XrefMaybe();
17927// User-implemented function from gstatic:amc.FDb.tfunc
17928// func:amc...tfunc_Ctype_Unref
17929// this function is 'extrn' and implemented by user
17930void                 tfunc_Ctype_Unref();
17931// User-implemented function from gstatic:amc.FDb.tfunc
17932// func:amc...tfunc_Ctype_ReadFieldMaybe
17933// this function is 'extrn' and implemented by user
17934void                 tfunc_Ctype_ReadFieldMaybe();
17935// User-implemented function from gstatic:amc.FDb.tfunc
17936// func:amc...tfunc_Ctype_Read
17937// this function is 'extrn' and implemented by user
17938void                 tfunc_Ctype_Read();
17939// User-implemented function from gstatic:amc.FDb.tfunc
17940// func:amc...tfunc_Ctype_Lt
17941// this function is 'extrn' and implemented by user
17942void                 tfunc_Ctype_Lt();
17943// User-implemented function from gstatic:amc.FDb.tfunc
17944// func:amc...tfunc_Ctype_GetMsgLength
17945// this function is 'extrn' and implemented by user
17946void                 tfunc_Ctype_GetMsgLength();
17947// User-implemented function from gstatic:amc.FDb.tfunc
17948// func:amc...tfunc_Ctype_GetMsgMemptr
17949// this function is 'extrn' and implemented by user
17950void                 tfunc_Ctype_GetMsgMemptr();
17951// User-implemented function from gstatic:amc.FDb.tfunc
17952// func:amc...tfunc_Ctype_Cmp
17953// this function is 'extrn' and implemented by user
17954void                 tfunc_Ctype_Cmp();
17955// User-implemented function from gstatic:amc.FDb.tfunc
17956// func:amc...tfunc_Ctype_Init
17957// this function is 'extrn' and implemented by user
17958void                 tfunc_Ctype_Init();
17959// User-implemented function from gstatic:amc.FDb.tfunc
17960// func:amc...tfunc_Ctype_Uninit
17961// this function is 'extrn' and implemented by user
17962void                 tfunc_Ctype_Uninit();
17963// User-implemented function from gstatic:amc.FDb.tfunc
17964// func:amc...tfunc_Ctype_UpdateMax
17965// this function is 'extrn' and implemented by user
17966void                 tfunc_Ctype_UpdateMax();
17967// User-implemented function from gstatic:amc.FDb.tfunc
17968// func:amc...tfunc_Ctype_Min
17969// this function is 'extrn' and implemented by user
17970void                 tfunc_Ctype_Min();
17971// User-implemented function from gstatic:amc.FDb.tfunc
17972// func:amc...tfunc_Ctype_UpdateMin
17973// this function is 'extrn' and implemented by user
17974void                 tfunc_Ctype_UpdateMin();
17975// User-implemented function from gstatic:amc.FDb.tfunc
17976// func:amc...tfunc_Ctype_Max
17977// this function is 'extrn' and implemented by user
17978void                 tfunc_Ctype_Max();
17979// User-implemented function from gstatic:amc.FDb.tfunc
17980// func:amc...tfunc_Ctype_Eq
17981// this function is 'extrn' and implemented by user
17982void                 tfunc_Ctype_Eq();
17983// User-implemented function from gstatic:amc.FDb.tfunc
17984// func:amc...tfunc_Ctype_Update
17985// this function is 'extrn' and implemented by user
17986void                 tfunc_Ctype_Update();
17987// User-implemented function from gstatic:amc.FDb.tfunc
17988// func:amc...tfunc_Ctype_EqStrptr
17989// this function is 'extrn' and implemented by user
17990void                 tfunc_Ctype_EqStrptr();
17991// User-implemented function from gstatic:amc.FDb.tfunc
17992// func:amc...tfunc_Ctype_ToCmdline
17993// this function is 'extrn' and implemented by user
17994void                 tfunc_Ctype_ToCmdline();
17995// User-implemented function from gstatic:amc.FDb.tfunc
17996// func:amc...tfunc_Ctype_Print
17997// this function is 'extrn' and implemented by user
17998void                 tfunc_Ctype_Print();
17999// User-implemented function from gstatic:amc.FDb.tfunc
18000// func:amc...tfunc_Ctype_EqEnum
18001// this function is 'extrn' and implemented by user
18002void                 tfunc_Ctype_EqEnum();
18003// User-implemented function from gstatic:amc.FDb.tfunc
18004// func:amc...tfunc_Ctype_GetAnon
18005// this function is 'extrn' and implemented by user
18006void                 tfunc_Ctype_GetAnon();
18007// User-implemented function from gstatic:amc.FDb.tfunc
18008// func:amc...tfunc_Ctype_NArgs
18009// this function is 'extrn' and implemented by user
18010void                 tfunc_Ctype_NArgs();
18011// User-implemented function from gstatic:amc.FDb.tfunc
18012// func:amc...tfunc_Ctype_FastEncode
18013// this function is 'extrn' and implemented by user
18014void                 tfunc_Ctype_FastEncode();
18015// User-implemented function from gstatic:amc.FDb.tfunc
18016// func:amc...tfunc_Ctype_FastDecode
18017// this function is 'extrn' and implemented by user
18018void                 tfunc_Ctype_FastDecode();
18019// User-implemented function from gstatic:amc.FDb.tfunc
18020// func:amc...tfunc_Ctype_FixEncode
18021// this function is 'extrn' and implemented by user
18022void                 tfunc_Ctype_FixEncode();
18023// User-implemented function from gstatic:amc.FDb.tfunc
18024// func:amc...tfunc_Dec_qSetDouble
18025// this function is 'extrn' and implemented by user
18026void                 tfunc_Dec_qSetDouble();
18027// User-implemented function from gstatic:amc.FDb.tfunc
18028// func:amc...tfunc_Dec_GetDouble
18029// this function is 'extrn' and implemented by user
18030void                 tfunc_Dec_GetDouble();
18031// User-implemented function from gstatic:amc.FDb.tfunc
18032// func:amc...tfunc_Dec_GetInt
18033// this function is 'extrn' and implemented by user
18034void                 tfunc_Dec_GetInt();
18035// User-implemented function from gstatic:amc.FDb.tfunc
18036// func:amc...tfunc_Dec_GetScale
18037// this function is 'extrn' and implemented by user
18038void                 tfunc_Dec_GetScale();
18039// User-implemented function from gstatic:amc.FDb.tfunc
18040// func:amc...tfunc_Dec_SetDoubleMaybe
18041// this function is 'extrn' and implemented by user
18042void                 tfunc_Dec_SetDoubleMaybe();
18043// User-implemented function from gstatic:amc.FDb.tfunc
18044// func:amc...tfunc_Dec_ReadStrptrMaybe
18045// this function is 'extrn' and implemented by user
18046void                 tfunc_Dec_ReadStrptrMaybe();
18047// User-implemented function from gstatic:amc.FDb.tfunc
18048// func:amc...tfunc_Dec_Print
18049// this function is 'extrn' and implemented by user
18050void                 tfunc_Dec_Print();
18051// User-implemented function from gstatic:amc.FDb.tfunc
18052// func:amc...tfunc_Delptr_Access
18053// this function is 'extrn' and implemented by user
18054void                 tfunc_Delptr_Access();
18055// User-implemented function from gstatic:amc.FDb.tfunc
18056// func:amc...tfunc_Delptr_Delete
18057// this function is 'extrn' and implemented by user
18058void                 tfunc_Delptr_Delete();
18059// User-implemented function from gstatic:amc.FDb.tfunc
18060// func:amc...tfunc_Delptr_Init
18061// this function is 'extrn' and implemented by user
18062void                 tfunc_Delptr_Init();
18063// User-implemented function from gstatic:amc.FDb.tfunc
18064// func:amc...tfunc_Delptr_Uninit
18065// this function is 'extrn' and implemented by user
18066void                 tfunc_Delptr_Uninit();
18067// User-implemented function from gstatic:amc.FDb.tfunc
18068// func:amc...tfunc_Exec_Start
18069// this function is 'extrn' and implemented by user
18070void                 tfunc_Exec_Start();
18071// User-implemented function from gstatic:amc.FDb.tfunc
18072// func:amc...tfunc_Exec_StartRead
18073// this function is 'extrn' and implemented by user
18074void                 tfunc_Exec_StartRead();
18075// User-implemented function from gstatic:amc.FDb.tfunc
18076// func:amc...tfunc_Exec_Kill
18077// this function is 'extrn' and implemented by user
18078void                 tfunc_Exec_Kill();
18079// User-implemented function from gstatic:amc.FDb.tfunc
18080// func:amc...tfunc_Exec_Wait
18081// this function is 'extrn' and implemented by user
18082void                 tfunc_Exec_Wait();
18083// User-implemented function from gstatic:amc.FDb.tfunc
18084// func:amc...tfunc_Exec_Exec
18085// this function is 'extrn' and implemented by user
18086void                 tfunc_Exec_Exec();
18087// User-implemented function from gstatic:amc.FDb.tfunc
18088// func:amc...tfunc_Exec_ExecX
18089// this function is 'extrn' and implemented by user
18090void                 tfunc_Exec_ExecX();
18091// User-implemented function from gstatic:amc.FDb.tfunc
18092// func:amc...tfunc_Exec_Execv
18093// this function is 'extrn' and implemented by user
18094void                 tfunc_Exec_Execv();
18095// User-implemented function from gstatic:amc.FDb.tfunc
18096// func:amc...tfunc_Exec_ToCmdline
18097// this function is 'extrn' and implemented by user
18098void                 tfunc_Exec_ToCmdline();
18099// User-implemented function from gstatic:amc.FDb.tfunc
18100// func:amc...tfunc_Exec_Init
18101// this function is 'extrn' and implemented by user
18102void                 tfunc_Exec_Init();
18103// User-implemented function from gstatic:amc.FDb.tfunc
18104// func:amc...tfunc_Exec_Uninit
18105// this function is 'extrn' and implemented by user
18106void                 tfunc_Exec_Uninit();
18107// User-implemented function from gstatic:amc.FDb.tfunc
18108// func:amc...tfunc_Exec_ToArgv
18109// this function is 'extrn' and implemented by user
18110void                 tfunc_Exec_ToArgv();
18111// User-implemented function from gstatic:amc.FDb.tfunc
18112// func:amc...tfunc_Fbuf_BeginRead
18113// this function is 'extrn' and implemented by user
18114void                 tfunc_Fbuf_BeginRead();
18115// User-implemented function from gstatic:amc.FDb.tfunc
18116// func:amc...tfunc_Fbuf_EndRead
18117// this function is 'extrn' and implemented by user
18118void                 tfunc_Fbuf_EndRead();
18119// User-implemented function from gstatic:amc.FDb.tfunc
18120// func:amc...tfunc_Fbuf_EndWrite
18121// this function is 'extrn' and implemented by user
18122void                 tfunc_Fbuf_EndWrite();
18123// User-implemented function from gstatic:amc.FDb.tfunc
18124// func:amc...tfunc_Fbuf_BeginWrite
18125// this function is 'extrn' and implemented by user
18126void                 tfunc_Fbuf_BeginWrite();
18127// User-implemented function from gstatic:amc.FDb.tfunc
18128// func:amc...tfunc_Fbuf_GetMsg
18129// this function is 'extrn' and implemented by user
18130void                 tfunc_Fbuf_GetMsg();
18131// User-implemented function from gstatic:amc.FDb.tfunc
18132// func:amc...tfunc_Fbuf_Realloc
18133// this function is 'extrn' and implemented by user
18134void                 tfunc_Fbuf_Realloc();
18135// User-implemented function from gstatic:amc.FDb.tfunc
18136// func:amc...tfunc_Fbuf_Init
18137// this function is 'extrn' and implemented by user
18138void                 tfunc_Fbuf_Init();
18139// User-implemented function from gstatic:amc.FDb.tfunc
18140// func:amc...tfunc_Fbuf_Max
18141// this function is 'extrn' and implemented by user
18142void                 tfunc_Fbuf_Max();
18143// User-implemented function from gstatic:amc.FDb.tfunc
18144// func:amc...tfunc_Fbuf_N
18145// this function is 'extrn' and implemented by user
18146void                 tfunc_Fbuf_N();
18147// User-implemented function from gstatic:amc.FDb.tfunc
18148// func:amc...tfunc_Fbuf_Outflow
18149// this function is 'extrn' and implemented by user
18150void                 tfunc_Fbuf_Outflow();
18151// User-implemented function from gstatic:amc.FDb.tfunc
18152// func:amc...tfunc_Fbuf_Refill
18153// this function is 'extrn' and implemented by user
18154void                 tfunc_Fbuf_Refill();
18155// User-implemented function from gstatic:amc.FDb.tfunc
18156// func:amc...tfunc_Fbuf_RemoveAll
18157// this function is 'extrn' and implemented by user
18158void                 tfunc_Fbuf_RemoveAll();
18159// User-implemented function from gstatic:amc.FDb.tfunc
18160// func:amc...tfunc_Fbuf_Scanmsg
18161// this function is 'extrn' and implemented by user
18162void                 tfunc_Fbuf_Scanmsg();
18163// User-implemented function from gstatic:amc.FDb.tfunc
18164// func:amc...tfunc_Fbuf_Shift
18165// this function is 'extrn' and implemented by user
18166void                 tfunc_Fbuf_Shift();
18167// User-implemented function from gstatic:amc.FDb.tfunc
18168// func:amc...tfunc_Fbuf_SkipBytes
18169// this function is 'extrn' and implemented by user
18170void                 tfunc_Fbuf_SkipBytes();
18171// User-implemented function from gstatic:amc.FDb.tfunc
18172// func:amc...tfunc_Fbuf_SkipMsg
18173// this function is 'extrn' and implemented by user
18174void                 tfunc_Fbuf_SkipMsg();
18175// User-implemented function from gstatic:amc.FDb.tfunc
18176// func:amc...tfunc_Fbuf_WriteAll
18177// this function is 'extrn' and implemented by user
18178void                 tfunc_Fbuf_WriteAll();
18179// User-implemented function from gstatic:amc.FDb.tfunc
18180// func:amc...tfunc_Fbuf_WriteMsg
18181// this function is 'extrn' and implemented by user
18182void                 tfunc_Fbuf_WriteMsg();
18183// User-implemented function from gstatic:amc.FDb.tfunc
18184// func:amc...tfunc_Fbuf_Uninit
18185// this function is 'extrn' and implemented by user
18186void                 tfunc_Fbuf_Uninit();
18187// User-implemented function from gstatic:amc.FDb.tfunc
18188// func:amc...tfunc_Fcast_Cast
18189// this function is 'extrn' and implemented by user
18190void                 tfunc_Fcast_Cast();
18191// User-implemented function from gstatic:amc.FDb.tfunc
18192// func:amc...tfunc_Fconst_GetEnum
18193// this function is 'extrn' and implemented by user
18194void                 tfunc_Fconst_GetEnum();
18195// User-implemented function from gstatic:amc.FDb.tfunc
18196// func:amc...tfunc_Fconst_SetEnum
18197// this function is 'extrn' and implemented by user
18198void                 tfunc_Fconst_SetEnum();
18199// User-implemented function from gstatic:amc.FDb.tfunc
18200// func:amc...tfunc_Fconst_ToCstr
18201// this function is 'extrn' and implemented by user
18202void                 tfunc_Fconst_ToCstr();
18203// User-implemented function from gstatic:amc.FDb.tfunc
18204// func:amc...tfunc_Fconst_Print
18205// this function is 'extrn' and implemented by user
18206void                 tfunc_Fconst_Print();
18207// User-implemented function from gstatic:amc.FDb.tfunc
18208// func:amc...tfunc_Fconst_SetStrptrMaybe
18209// this function is 'extrn' and implemented by user
18210void                 tfunc_Fconst_SetStrptrMaybe();
18211// User-implemented function from gstatic:amc.FDb.tfunc
18212// func:amc...tfunc_Fconst_SetStrptr
18213// this function is 'extrn' and implemented by user
18214void                 tfunc_Fconst_SetStrptr();
18215// User-implemented function from gstatic:amc.FDb.tfunc
18216// func:amc...tfunc_Fconst_ReadStrptrMaybe
18217// this function is 'extrn' and implemented by user
18218void                 tfunc_Fconst_ReadStrptrMaybe();
18219// User-implemented function from gstatic:amc.FDb.tfunc
18220// func:amc...tfunc_Field_Cleanup
18221// this function is 'extrn' and implemented by user
18222void                 tfunc_Field_Cleanup();
18223// User-implemented function from gstatic:amc.FDb.tfunc
18224// func:amc...tfunc_Field_Userinit
18225// this function is 'extrn' and implemented by user
18226void                 tfunc_Field_Userinit();
18227// User-implemented function from gstatic:amc.FDb.tfunc
18228// func:amc...tfunc_Field_Cascdel
18229// this function is 'extrn' and implemented by user
18230void                 tfunc_Field_Cascdel();
18231// User-implemented function from gstatic:amc.FDb.tfunc
18232// func:amc...tfunc_Field_Concat
18233// this function is 'extrn' and implemented by user
18234void                 tfunc_Field_Concat();
18235// User-implemented function from gstatic:amc.FDb.tfunc
18236// func:amc...tfunc_Field2_ReadStrptrMaybe
18237// this function is 'extrn' and implemented by user
18238void                 tfunc_Field2_ReadStrptrMaybe();
18239// User-implemented function from gstatic:amc.FDb.tfunc
18240// func:amc...tfunc_Global_ReadArgv
18241// this function is 'extrn' and implemented by user
18242void                 tfunc_Global_ReadArgv();
18243// User-implemented function from gstatic:amc.FDb.tfunc
18244// func:amc...tfunc_Global_main
18245// this function is 'extrn' and implemented by user
18246void                 tfunc_Global_main();
18247// User-implemented function from gstatic:amc.FDb.tfunc
18248// func:amc...tfunc_Global_WinMain
18249// this function is 'extrn' and implemented by user
18250void                 tfunc_Global_WinMain();
18251// User-implemented function from gstatic:amc.FDb.tfunc
18252// func:amc...tfunc_Global_MainLoop
18253// this function is 'extrn' and implemented by user
18254void                 tfunc_Global_MainLoop();
18255// User-implemented function from gstatic:amc.FDb.tfunc
18256// func:amc...tfunc_Global_Step
18257// this function is 'extrn' and implemented by user
18258void                 tfunc_Global_Step();
18259// User-implemented function from gstatic:amc.FDb.tfunc
18260// func:amc...tfunc_Global_Main
18261// this function is 'extrn' and implemented by user
18262void                 tfunc_Global_Main();
18263// User-implemented function from gstatic:amc.FDb.tfunc
18264// func:amc...tfunc_Global_InitReflection
18265// this function is 'extrn' and implemented by user
18266void                 tfunc_Global_InitReflection();
18267// User-implemented function from gstatic:amc.FDb.tfunc
18268// func:amc...tfunc_Global_InsertStrptrMaybe
18269// this function is 'extrn' and implemented by user
18270void                 tfunc_Global_InsertStrptrMaybe();
18271// User-implemented function from gstatic:amc.FDb.tfunc
18272// func:amc...tfunc_Global_LoadTuplesMaybe
18273// this function is 'extrn' and implemented by user
18274void                 tfunc_Global_LoadTuplesMaybe();
18275// User-implemented function from gstatic:amc.FDb.tfunc
18276// func:amc...tfunc_Global_LoadTuplesFile
18277// this function is 'extrn' and implemented by user
18278void                 tfunc_Global_LoadTuplesFile();
18279// User-implemented function from gstatic:amc.FDb.tfunc
18280// func:amc...tfunc_Global_LoadTuplesFd
18281// this function is 'extrn' and implemented by user
18282void                 tfunc_Global_LoadTuplesFd();
18283// User-implemented function from gstatic:amc.FDb.tfunc
18284// func:amc...tfunc_Global_SaveTuples
18285// this function is 'extrn' and implemented by user
18286void                 tfunc_Global_SaveTuples();
18287// User-implemented function from gstatic:amc.FDb.tfunc
18288// func:amc...tfunc_Global_Init
18289// this function is 'extrn' and implemented by user
18290void                 tfunc_Global_Init();
18291// User-implemented function from gstatic:amc.FDb.tfunc
18292// func:amc...tfunc_Global_LoadSsimfileMaybe
18293// this function is 'extrn' and implemented by user
18294void                 tfunc_Global_LoadSsimfileMaybe();
18295// User-implemented function from gstatic:amc.FDb.tfunc
18296// func:amc...tfunc_Global_Steps
18297// this function is 'extrn' and implemented by user
18298void                 tfunc_Global_Steps();
18299// User-implemented function from gstatic:amc.FDb.tfunc
18300// func:amc...tfunc_Hook_Call
18301// this function is 'extrn' and implemented by user
18302void                 tfunc_Hook_Call();
18303// User-implemented function from gstatic:amc.FDb.tfunc
18304// func:amc...tfunc_Hook_Set0
18305// this function is 'extrn' and implemented by user
18306void                 tfunc_Hook_Set0();
18307// User-implemented function from gstatic:amc.FDb.tfunc
18308// func:amc...tfunc_Hook_Set1
18309// this function is 'extrn' and implemented by user
18310void                 tfunc_Hook_Set1();
18311// User-implemented function from gstatic:amc.FDb.tfunc
18312// func:amc...tfunc_Hook_Set2
18313// this function is 'extrn' and implemented by user
18314void                 tfunc_Hook_Set2();
18315// User-implemented function from gstatic:amc.FDb.tfunc
18316// func:amc...tfunc_Inlary_AllocMem
18317// this function is 'extrn' and implemented by user
18318void                 tfunc_Inlary_AllocMem();
18319// User-implemented function from gstatic:amc.FDb.tfunc
18320// func:amc...tfunc_Inlary_EmptyQ
18321// this function is 'extrn' and implemented by user
18322void                 tfunc_Inlary_EmptyQ();
18323// User-implemented function from gstatic:amc.FDb.tfunc
18324// func:amc...tfunc_Inlary_Fill
18325// this function is 'extrn' and implemented by user
18326void                 tfunc_Inlary_Fill();
18327// User-implemented function from gstatic:amc.FDb.tfunc
18328// func:amc...tfunc_Inlary_Find
18329// this function is 'extrn' and implemented by user
18330void                 tfunc_Inlary_Find();
18331// User-implemented function from gstatic:amc.FDb.tfunc
18332// func:amc...tfunc_Inlary_Getary
18333// this function is 'extrn' and implemented by user
18334void                 tfunc_Inlary_Getary();
18335// User-implemented function from gstatic:amc.FDb.tfunc
18336// func:amc...tfunc_Inlary_Init
18337// this function is 'extrn' and implemented by user
18338void                 tfunc_Inlary_Init();
18339// User-implemented function from gstatic:amc.FDb.tfunc
18340// func:amc...tfunc_Inlary_Max
18341// this function is 'extrn' and implemented by user
18342void                 tfunc_Inlary_Max();
18343// User-implemented function from gstatic:amc.FDb.tfunc
18344// func:amc...tfunc_Inlary_N
18345// this function is 'extrn' and implemented by user
18346void                 tfunc_Inlary_N();
18347// User-implemented function from gstatic:amc.FDb.tfunc
18348// func:amc...tfunc_Inlary_RemoveAll
18349// this function is 'extrn' and implemented by user
18350void                 tfunc_Inlary_RemoveAll();
18351// User-implemented function from gstatic:amc.FDb.tfunc
18352// func:amc...tfunc_Inlary_RemoveLast
18353// this function is 'extrn' and implemented by user
18354void                 tfunc_Inlary_RemoveLast();
18355// User-implemented function from gstatic:amc.FDb.tfunc
18356// func:amc...tfunc_Inlary_RowidFind
18357// this function is 'extrn' and implemented by user
18358void                 tfunc_Inlary_RowidFind();
18359// User-implemented function from gstatic:amc.FDb.tfunc
18360// func:amc...tfunc_Inlary_Setary
18361// this function is 'extrn' and implemented by user
18362void                 tfunc_Inlary_Setary();
18363// User-implemented function from gstatic:amc.FDb.tfunc
18364// func:amc...tfunc_Inlary_Uninit
18365// this function is 'extrn' and implemented by user
18366void                 tfunc_Inlary_Uninit();
18367// User-implemented function from gstatic:amc.FDb.tfunc
18368// func:amc...tfunc_Inlary_qFind
18369// this function is 'extrn' and implemented by user
18370void                 tfunc_Inlary_qFind();
18371// User-implemented function from gstatic:amc.FDb.tfunc
18372// func:amc...tfunc_Inlary_rowid_Get
18373// this function is 'extrn' and implemented by user
18374void                 tfunc_Inlary_rowid_Get();
18375// User-implemented function from gstatic:amc.FDb.tfunc
18376// func:amc...tfunc_Inlary_Eq
18377// this function is 'extrn' and implemented by user
18378void                 tfunc_Inlary_Eq();
18379// User-implemented function from gstatic:amc.FDb.tfunc
18380// func:amc...tfunc_Inlary_Cmp
18381// this function is 'extrn' and implemented by user
18382void                 tfunc_Inlary_Cmp();
18383// User-implemented function from gstatic:amc.FDb.tfunc
18384// func:amc...tfunc_Inlary_curs
18385// this function is 'extrn' and implemented by user
18386void                 tfunc_Inlary_curs();
18387// User-implemented function from gstatic:amc.FDb.tfunc
18388// func:amc...tfunc_Inlary_Print
18389// this function is 'extrn' and implemented by user
18390void                 tfunc_Inlary_Print();
18391// User-implemented function from gstatic:amc.FDb.tfunc
18392// func:amc...tfunc_Inlary_ReadStrptrMaybe
18393// this function is 'extrn' and implemented by user
18394void                 tfunc_Inlary_ReadStrptrMaybe();
18395// User-implemented function from gstatic:amc.FDb.tfunc
18396// func:amc...tfunc_Io_SaveSsimfile
18397// this function is 'extrn' and implemented by user
18398void                 tfunc_Io_SaveSsimfile();
18399// User-implemented function from gstatic:amc.FDb.tfunc
18400// func:amc...tfunc_Io_Input
18401// this function is 'extrn' and implemented by user
18402void                 tfunc_Io_Input();
18403// User-implemented function from gstatic:amc.FDb.tfunc
18404// func:amc...tfunc_Io_InputMaybe
18405// this function is 'extrn' and implemented by user
18406void                 tfunc_Io_InputMaybe();
18407// User-implemented function from gstatic:amc.FDb.tfunc
18408// func:amc...tfunc_Io_LoadStatic
18409// this function is 'extrn' and implemented by user
18410void                 tfunc_Io_LoadStatic();
18411// User-implemented function from gstatic:amc.FDb.tfunc
18412// func:amc...tfunc_Lary_AllocMem
18413// this function is 'extrn' and implemented by user
18414void                 tfunc_Lary_AllocMem();
18415// User-implemented function from gstatic:amc.FDb.tfunc
18416// func:amc...tfunc_Lary_EmptyQ
18417// this function is 'extrn' and implemented by user
18418void                 tfunc_Lary_EmptyQ();
18419// User-implemented function from gstatic:amc.FDb.tfunc
18420// func:amc...tfunc_Lary_Find
18421// this function is 'extrn' and implemented by user
18422void                 tfunc_Lary_Find();
18423// User-implemented function from gstatic:amc.FDb.tfunc
18424// func:amc...tfunc_Lary_Init
18425// this function is 'extrn' and implemented by user
18426void                 tfunc_Lary_Init();
18427// User-implemented function from gstatic:amc.FDb.tfunc
18428// func:amc...tfunc_Lary_Last
18429// this function is 'extrn' and implemented by user
18430void                 tfunc_Lary_Last();
18431// User-implemented function from gstatic:amc.FDb.tfunc
18432// func:amc...tfunc_Lary_N
18433// this function is 'extrn' and implemented by user
18434void                 tfunc_Lary_N();
18435// User-implemented function from gstatic:amc.FDb.tfunc
18436// func:amc...tfunc_Lary_RemoveAll
18437// this function is 'extrn' and implemented by user
18438void                 tfunc_Lary_RemoveAll();
18439// User-implemented function from gstatic:amc.FDb.tfunc
18440// func:amc...tfunc_Lary_RemoveLast
18441// this function is 'extrn' and implemented by user
18442void                 tfunc_Lary_RemoveLast();
18443// User-implemented function from gstatic:amc.FDb.tfunc
18444// func:amc...tfunc_Lary_RowidFind
18445// this function is 'extrn' and implemented by user
18446void                 tfunc_Lary_RowidFind();
18447// User-implemented function from gstatic:amc.FDb.tfunc
18448// func:amc...tfunc_Lary_Uninit
18449// this function is 'extrn' and implemented by user
18450void                 tfunc_Lary_Uninit();
18451// User-implemented function from gstatic:amc.FDb.tfunc
18452// func:amc...tfunc_Lary_qFind
18453// this function is 'extrn' and implemented by user
18454void                 tfunc_Lary_qFind();
18455// User-implemented function from gstatic:amc.FDb.tfunc
18456// func:amc...tfunc_Lary_qLast
18457// this function is 'extrn' and implemented by user
18458void                 tfunc_Lary_qLast();
18459// User-implemented function from gstatic:amc.FDb.tfunc
18460// func:amc...tfunc_Lary_curs
18461// this function is 'extrn' and implemented by user
18462void                 tfunc_Lary_curs();
18463// User-implemented function from gstatic:amc.FDb.tfunc
18464// func:amc...tfunc_Llist_Cascdel
18465// this function is 'extrn' and implemented by user
18466void                 tfunc_Llist_Cascdel();
18467// User-implemented function from gstatic:amc.FDb.tfunc
18468// func:amc...tfunc_Llist_DestructiveFirst
18469// this function is 'extrn' and implemented by user
18470void                 tfunc_Llist_DestructiveFirst();
18471// User-implemented function from gstatic:amc.FDb.tfunc
18472// func:amc...tfunc_Llist_EmptyQ
18473// this function is 'extrn' and implemented by user
18474void                 tfunc_Llist_EmptyQ();
18475// User-implemented function from gstatic:amc.FDb.tfunc
18476// func:amc...tfunc_Llist_First
18477// this function is 'extrn' and implemented by user
18478void                 tfunc_Llist_First();
18479// User-implemented function from gstatic:amc.FDb.tfunc
18480// func:amc...tfunc_Llist_InLlistQ
18481// this function is 'extrn' and implemented by user
18482void                 tfunc_Llist_InLlistQ();
18483// User-implemented function from gstatic:amc.FDb.tfunc
18484// func:amc...tfunc_Llist_Init
18485// this function is 'extrn' and implemented by user
18486void                 tfunc_Llist_Init();
18487// User-implemented function from gstatic:amc.FDb.tfunc
18488// func:amc...tfunc_Llist_Insert
18489// this function is 'extrn' and implemented by user
18490void                 tfunc_Llist_Insert();
18491// User-implemented function from gstatic:amc.FDb.tfunc
18492// func:amc...tfunc_Llist_Last
18493// this function is 'extrn' and implemented by user
18494void                 tfunc_Llist_Last();
18495// User-implemented function from gstatic:amc.FDb.tfunc
18496// func:amc...tfunc_Llist_N
18497// this function is 'extrn' and implemented by user
18498void                 tfunc_Llist_N();
18499// User-implemented function from gstatic:amc.FDb.tfunc
18500// func:amc...tfunc_Llist_Next
18501// this function is 'extrn' and implemented by user
18502void                 tfunc_Llist_Next();
18503// User-implemented function from gstatic:amc.FDb.tfunc
18504// func:amc...tfunc_Llist_Prev
18505// this function is 'extrn' and implemented by user
18506void                 tfunc_Llist_Prev();
18507// User-implemented function from gstatic:amc.FDb.tfunc
18508// func:amc...tfunc_Llist_Remove
18509// this function is 'extrn' and implemented by user
18510void                 tfunc_Llist_Remove();
18511// User-implemented function from gstatic:amc.FDb.tfunc
18512// func:amc...tfunc_Llist_RemoveAll
18513// this function is 'extrn' and implemented by user
18514void                 tfunc_Llist_RemoveAll();
18515// User-implemented function from gstatic:amc.FDb.tfunc
18516// func:amc...tfunc_Llist_RemoveFirst
18517// this function is 'extrn' and implemented by user
18518void                 tfunc_Llist_RemoveFirst();
18519// User-implemented function from gstatic:amc.FDb.tfunc
18520// func:amc...tfunc_Llist_RotateFirst
18521// this function is 'extrn' and implemented by user
18522void                 tfunc_Llist_RotateFirst();
18523// User-implemented function from gstatic:amc.FDb.tfunc
18524// func:amc...tfunc_Llist_qLast
18525// this function is 'extrn' and implemented by user
18526void                 tfunc_Llist_qLast();
18527// User-implemented function from gstatic:amc.FDb.tfunc
18528// func:amc...tfunc_Llist_curs
18529// this function is 'extrn' and implemented by user
18530void                 tfunc_Llist_curs();
18531// User-implemented function from gstatic:amc.FDb.tfunc
18532// func:amc...tfunc_Llist_delcurs
18533// this function is 'extrn' and implemented by user
18534void                 tfunc_Llist_delcurs();
18535// User-implemented function from gstatic:amc.FDb.tfunc
18536// func:amc...tfunc_Lpool_Init
18537// this function is 'extrn' and implemented by user
18538void                 tfunc_Lpool_Init();
18539// User-implemented function from gstatic:amc.FDb.tfunc
18540// func:amc...tfunc_Lpool_FreeMem
18541// this function is 'extrn' and implemented by user
18542void                 tfunc_Lpool_FreeMem();
18543// User-implemented function from gstatic:amc.FDb.tfunc
18544// func:amc...tfunc_Lpool_AllocMem
18545// this function is 'extrn' and implemented by user
18546void                 tfunc_Lpool_AllocMem();
18547// User-implemented function from gstatic:amc.FDb.tfunc
18548// func:amc...tfunc_Lpool_ReserveBuffers
18549// this function is 'extrn' and implemented by user
18550void                 tfunc_Lpool_ReserveBuffers();
18551// User-implemented function from gstatic:amc.FDb.tfunc
18552// func:amc...tfunc_Lpool_ReallocMem
18553// this function is 'extrn' and implemented by user
18554void                 tfunc_Lpool_ReallocMem();
18555// User-implemented function from gstatic:amc.FDb.tfunc
18556// func:amc...tfunc_Lpool_N
18557// this function is 'extrn' and implemented by user
18558void                 tfunc_Lpool_N();
18559// User-implemented function from gstatic:amc.FDb.tfunc
18560// func:amc...tfunc_Malloc_AllocMem
18561// this function is 'extrn' and implemented by user
18562void                 tfunc_Malloc_AllocMem();
18563// User-implemented function from gstatic:amc.FDb.tfunc
18564// func:amc...tfunc_Malloc_FreeMem
18565// this function is 'extrn' and implemented by user
18566void                 tfunc_Malloc_FreeMem();
18567// User-implemented function from gstatic:amc.FDb.tfunc
18568// func:amc...tfunc_Malloc_ReallocMem
18569// this function is 'extrn' and implemented by user
18570void                 tfunc_Malloc_ReallocMem();
18571// User-implemented function from gstatic:amc.FDb.tfunc
18572// func:amc...tfunc_Ns_StaticCheck
18573// this function is 'extrn' and implemented by user
18574void                 tfunc_Ns_StaticCheck();
18575// User-implemented function from gstatic:amc.FDb.tfunc
18576// func:amc...tfunc_Numstr_Getnum
18577// this function is 'extrn' and implemented by user
18578void                 tfunc_Numstr_Getnum();
18579// User-implemented function from gstatic:amc.FDb.tfunc
18580// func:amc...tfunc_Numstr_GetnumDflt
18581// this function is 'extrn' and implemented by user
18582void                 tfunc_Numstr_GetnumDflt();
18583// User-implemented function from gstatic:amc.FDb.tfunc
18584// func:amc...tfunc_Numstr_Geti64
18585// this function is 'extrn' and implemented by user
18586void                 tfunc_Numstr_Geti64();
18587// User-implemented function from gstatic:amc.FDb.tfunc
18588// func:amc...tfunc_Numstr_SetnumMaybe
18589// this function is 'extrn' and implemented by user
18590void                 tfunc_Numstr_SetnumMaybe();
18591// User-implemented function from gstatic:amc.FDb.tfunc
18592// func:amc...tfunc_Numstr_ForAllStrings
18593// this function is 'extrn' and implemented by user
18594void                 tfunc_Numstr_ForAllStrings();
18595// User-implemented function from gstatic:amc.FDb.tfunc
18596// func:amc...tfunc_Opt_Get
18597// this function is 'extrn' and implemented by user
18598void                 tfunc_Opt_Get();
18599// User-implemented function from gstatic:amc.FDb.tfunc
18600// func:amc...tfunc_Opt_Getary
18601// this function is 'extrn' and implemented by user
18602void                 tfunc_Opt_Getary();
18603// User-implemented function from gstatic:amc.FDb.tfunc
18604// func:amc...tfunc_Opt_Print
18605// this function is 'extrn' and implemented by user
18606void                 tfunc_Opt_Print();
18607// User-implemented function from gstatic:amc.FDb.tfunc
18608// func:amc...tfunc_Opt_ReadStrptrMaybe
18609// this function is 'extrn' and implemented by user
18610void                 tfunc_Opt_ReadStrptrMaybe();
18611// User-implemented function from gstatic:amc.FDb.tfunc
18612// func:amc...tfunc_Pmask_PresentQ
18613// this function is 'extrn' and implemented by user
18614void                 tfunc_Pmask_PresentQ();
18615// User-implemented function from gstatic:amc.FDb.tfunc
18616// func:amc...tfunc_Pmask_SetPresent
18617// this function is 'extrn' and implemented by user
18618void                 tfunc_Pmask_SetPresent();
18619// User-implemented function from gstatic:amc.FDb.tfunc
18620// func:amc...tfunc_Pmask_GetBit
18621// this function is 'extrn' and implemented by user
18622void                 tfunc_Pmask_GetBit();
18623// User-implemented function from gstatic:amc.FDb.tfunc
18624// func:amc...tfunc_Pool_Alloc
18625// this function is 'extrn' and implemented by user
18626void                 tfunc_Pool_Alloc();
18627// User-implemented function from gstatic:amc.FDb.tfunc
18628// func:amc...tfunc_Pool_AllocMaybe
18629// this function is 'extrn' and implemented by user
18630void                 tfunc_Pool_AllocMaybe();
18631// User-implemented function from gstatic:amc.FDb.tfunc
18632// func:amc...tfunc_Pool_AllocExtra
18633// this function is 'extrn' and implemented by user
18634void                 tfunc_Pool_AllocExtra();
18635// User-implemented function from gstatic:amc.FDb.tfunc
18636// func:amc...tfunc_Pool_AllocExtraMaybe
18637// this function is 'extrn' and implemented by user
18638void                 tfunc_Pool_AllocExtraMaybe();
18639// User-implemented function from gstatic:amc.FDb.tfunc
18640// func:amc...tfunc_Pool_AllocVarlenMaybe
18641// this function is 'extrn' and implemented by user
18642void                 tfunc_Pool_AllocVarlenMaybe();
18643// User-implemented function from gstatic:amc.FDb.tfunc
18644// func:amc...tfunc_Pool_AllocVarlen
18645// this function is 'extrn' and implemented by user
18646void                 tfunc_Pool_AllocVarlen();
18647// User-implemented function from gstatic:amc.FDb.tfunc
18648// func:amc...tfunc_Pool_InsertMaybe
18649// this function is 'extrn' and implemented by user
18650void                 tfunc_Pool_InsertMaybe();
18651// User-implemented function from gstatic:amc.FDb.tfunc
18652// func:amc...tfunc_Pool_UpdateMaybe
18653// this function is 'extrn' and implemented by user
18654void                 tfunc_Pool_UpdateMaybe();
18655// User-implemented function from gstatic:amc.FDb.tfunc
18656// func:amc...tfunc_Pool_Delete
18657// this function is 'extrn' and implemented by user
18658void                 tfunc_Pool_Delete();
18659// User-implemented function from gstatic:amc.FDb.tfunc
18660// func:amc...tfunc_Ptr_Cascdel
18661// this function is 'extrn' and implemented by user
18662void                 tfunc_Ptr_Cascdel();
18663// User-implemented function from gstatic:amc.FDb.tfunc
18664// func:amc...tfunc_Ptr_InsertMaybe
18665// this function is 'extrn' and implemented by user
18666void                 tfunc_Ptr_InsertMaybe();
18667// User-implemented function from gstatic:amc.FDb.tfunc
18668// func:amc...tfunc_Ptr_Remove
18669// this function is 'extrn' and implemented by user
18670void                 tfunc_Ptr_Remove();
18671// User-implemented function from gstatic:amc.FDb.tfunc
18672// func:amc...tfunc_Ptr_Init
18673// this function is 'extrn' and implemented by user
18674void                 tfunc_Ptr_Init();
18675// User-implemented function from gstatic:amc.FDb.tfunc
18676// func:amc...tfunc_Ptrary_Cascdel
18677// this function is 'extrn' and implemented by user
18678void                 tfunc_Ptrary_Cascdel();
18679// User-implemented function from gstatic:amc.FDb.tfunc
18680// func:amc...tfunc_Ptrary_EmptyQ
18681// this function is 'extrn' and implemented by user
18682void                 tfunc_Ptrary_EmptyQ();
18683// User-implemented function from gstatic:amc.FDb.tfunc
18684// func:amc...tfunc_Ptrary_Find
18685// this function is 'extrn' and implemented by user
18686void                 tfunc_Ptrary_Find();
18687// User-implemented function from gstatic:amc.FDb.tfunc
18688// func:amc...tfunc_Ptrary_Getary
18689// this function is 'extrn' and implemented by user
18690void                 tfunc_Ptrary_Getary();
18691// User-implemented function from gstatic:amc.FDb.tfunc
18692// func:amc...tfunc_Ptrary_Init
18693// this function is 'extrn' and implemented by user
18694void                 tfunc_Ptrary_Init();
18695// User-implemented function from gstatic:amc.FDb.tfunc
18696// func:amc...tfunc_Ptrary_Insert
18697// this function is 'extrn' and implemented by user
18698void                 tfunc_Ptrary_Insert();
18699// User-implemented function from gstatic:amc.FDb.tfunc
18700// func:amc...tfunc_Ptrary_InsertMaybe
18701// this function is 'extrn' and implemented by user
18702void                 tfunc_Ptrary_InsertMaybe();
18703// User-implemented function from gstatic:amc.FDb.tfunc
18704// func:amc...tfunc_Ptrary_ScanInsertMaybe
18705// this function is 'extrn' and implemented by user
18706void                 tfunc_Ptrary_ScanInsertMaybe();
18707// User-implemented function from gstatic:amc.FDb.tfunc
18708// func:amc...tfunc_Ptrary_N
18709// this function is 'extrn' and implemented by user
18710void                 tfunc_Ptrary_N();
18711// User-implemented function from gstatic:amc.FDb.tfunc
18712// func:amc...tfunc_Ptrary_Remove
18713// this function is 'extrn' and implemented by user
18714void                 tfunc_Ptrary_Remove();
18715// User-implemented function from gstatic:amc.FDb.tfunc
18716// func:amc...tfunc_Ptrary_RemoveAll
18717// this function is 'extrn' and implemented by user
18718void                 tfunc_Ptrary_RemoveAll();
18719// User-implemented function from gstatic:amc.FDb.tfunc
18720// func:amc...tfunc_Ptrary_Reserve
18721// this function is 'extrn' and implemented by user
18722void                 tfunc_Ptrary_Reserve();
18723// User-implemented function from gstatic:amc.FDb.tfunc
18724// func:amc...tfunc_Ptrary_Uninit
18725// this function is 'extrn' and implemented by user
18726void                 tfunc_Ptrary_Uninit();
18727// User-implemented function from gstatic:amc.FDb.tfunc
18728// func:amc...tfunc_Ptrary_curs
18729// this function is 'extrn' and implemented by user
18730void                 tfunc_Ptrary_curs();
18731// User-implemented function from gstatic:amc.FDb.tfunc
18732// func:amc...tfunc_Ptrary_oncecurs
18733// this function is 'extrn' and implemented by user
18734void                 tfunc_Ptrary_oncecurs();
18735// User-implemented function from gstatic:amc.FDb.tfunc
18736// func:amc...tfunc_Ptrary_qFind
18737// this function is 'extrn' and implemented by user
18738void                 tfunc_Ptrary_qFind();
18739// User-implemented function from gstatic:amc.FDb.tfunc
18740// func:amc...tfunc_Ptrary_InAryQ
18741// this function is 'extrn' and implemented by user
18742void                 tfunc_Ptrary_InAryQ();
18743// User-implemented function from gstatic:amc.FDb.tfunc
18744// func:amc...tfunc_Ptrary_qLast
18745// this function is 'extrn' and implemented by user
18746void                 tfunc_Ptrary_qLast();
18747// User-implemented function from gstatic:amc.FDb.tfunc
18748// func:amc...tfunc_Regx_Init
18749// this function is 'extrn' and implemented by user
18750void                 tfunc_Regx_Init();
18751// User-implemented function from gstatic:amc.FDb.tfunc
18752// func:amc...tfunc_Regx_Print
18753// this function is 'extrn' and implemented by user
18754void                 tfunc_Regx_Print();
18755// User-implemented function from gstatic:amc.FDb.tfunc
18756// func:amc...tfunc_Regx_ReadStrptrMaybe
18757// this function is 'extrn' and implemented by user
18758void                 tfunc_Regx_ReadStrptrMaybe();
18759// User-implemented function from gstatic:amc.FDb.tfunc
18760// func:amc...tfunc_RegxSql_Init
18761// this function is 'extrn' and implemented by user
18762void                 tfunc_RegxSql_Init();
18763// User-implemented function from gstatic:amc.FDb.tfunc
18764// func:amc...tfunc_RegxSql_Print
18765// this function is 'extrn' and implemented by user
18766void                 tfunc_RegxSql_Print();
18767// User-implemented function from gstatic:amc.FDb.tfunc
18768// func:amc...tfunc_RegxSql_ReadStrptrMaybe
18769// this function is 'extrn' and implemented by user
18770void                 tfunc_RegxSql_ReadStrptrMaybe();
18771// User-implemented function from gstatic:amc.FDb.tfunc
18772// func:amc...tfunc_Sbrk_AllocMem
18773// this function is 'extrn' and implemented by user
18774void                 tfunc_Sbrk_AllocMem();
18775// User-implemented function from gstatic:amc.FDb.tfunc
18776// func:amc...tfunc_Sbrk_FreeMem
18777// this function is 'extrn' and implemented by user
18778void                 tfunc_Sbrk_FreeMem();
18779// User-implemented function from gstatic:amc.FDb.tfunc
18780// func:amc...tfunc_Sbrk_Init
18781// this function is 'extrn' and implemented by user
18782void                 tfunc_Sbrk_Init();
18783// User-implemented function from gstatic:amc.FDb.tfunc
18784// func:amc...tfunc_Smallstr_Add
18785// this function is 'extrn' and implemented by user
18786void                 tfunc_Smallstr_Add();
18787// User-implemented function from gstatic:amc.FDb.tfunc
18788// func:amc...tfunc_Smallstr_AddStrptr
18789// this function is 'extrn' and implemented by user
18790void                 tfunc_Smallstr_AddStrptr();
18791// User-implemented function from gstatic:amc.FDb.tfunc
18792// func:amc...tfunc_Smallstr_Getary
18793// this function is 'extrn' and implemented by user
18794void                 tfunc_Smallstr_Getary();
18795// User-implemented function from gstatic:amc.FDb.tfunc
18796// func:amc...tfunc_Smallstr_HashStrptr
18797// this function is 'extrn' and implemented by user
18798void                 tfunc_Smallstr_HashStrptr();
18799// User-implemented function from gstatic:amc.FDb.tfunc
18800// func:amc...tfunc_Smallstr_Init
18801// this function is 'extrn' and implemented by user
18802void                 tfunc_Smallstr_Init();
18803// User-implemented function from gstatic:amc.FDb.tfunc
18804// func:amc...tfunc_Smallstr_Max
18805// this function is 'extrn' and implemented by user
18806void                 tfunc_Smallstr_Max();
18807// User-implemented function from gstatic:amc.FDb.tfunc
18808// func:amc...tfunc_Smallstr_N
18809// this function is 'extrn' and implemented by user
18810void                 tfunc_Smallstr_N();
18811// User-implemented function from gstatic:amc.FDb.tfunc
18812// func:amc...tfunc_Smallstr_Print
18813// this function is 'extrn' and implemented by user
18814void                 tfunc_Smallstr_Print();
18815// User-implemented function from gstatic:amc.FDb.tfunc
18816// func:amc...tfunc_Smallstr_ReadStrptrMaybe
18817// this function is 'extrn' and implemented by user
18818void                 tfunc_Smallstr_ReadStrptrMaybe();
18819// User-implemented function from gstatic:amc.FDb.tfunc
18820// func:amc...tfunc_Smallstr_SetStrptr
18821// this function is 'extrn' and implemented by user
18822void                 tfunc_Smallstr_SetStrptr();
18823// User-implemented function from gstatic:amc.FDb.tfunc
18824// func:amc...tfunc_Smallstr_AssignStrptr
18825// this function is 'extrn' and implemented by user
18826void                 tfunc_Smallstr_AssignStrptr();
18827// User-implemented function from gstatic:amc.FDb.tfunc
18828// func:amc...tfunc_Smallstr_Set
18829// this function is 'extrn' and implemented by user
18830void                 tfunc_Smallstr_Set();
18831// User-implemented function from gstatic:amc.FDb.tfunc
18832// func:amc...tfunc_Smallstr_Ctor
18833// this function is 'extrn' and implemented by user
18834void                 tfunc_Smallstr_Ctor();
18835// User-implemented function from gstatic:amc.FDb.tfunc
18836// func:amc...tfunc_Smallstr_CtorStrptr
18837// this function is 'extrn' and implemented by user
18838void                 tfunc_Smallstr_CtorStrptr();
18839// User-implemented function from gstatic:amc.FDb.tfunc
18840// func:amc...tfunc_Sort_Swap
18841// this function is 'extrn' and implemented by user
18842void                 tfunc_Sort_Swap();
18843// User-implemented function from gstatic:amc.FDb.tfunc
18844// func:amc...tfunc_Sort_Rotleft
18845// this function is 'extrn' and implemented by user
18846void                 tfunc_Sort_Rotleft();
18847// User-implemented function from gstatic:amc.FDb.tfunc
18848// func:amc...tfunc_Sort_Lt
18849// this function is 'extrn' and implemented by user
18850void                 tfunc_Sort_Lt();
18851// User-implemented function from gstatic:amc.FDb.tfunc
18852// func:amc...tfunc_Sort_SortedQ
18853// this function is 'extrn' and implemented by user
18854void                 tfunc_Sort_SortedQ();
18855// User-implemented function from gstatic:amc.FDb.tfunc
18856// func:amc...tfunc_Sort_IntInsertionSort
18857// this function is 'extrn' and implemented by user
18858void                 tfunc_Sort_IntInsertionSort();
18859// User-implemented function from gstatic:amc.FDb.tfunc
18860// func:amc...tfunc_Sort_IntHeapSort
18861// this function is 'extrn' and implemented by user
18862void                 tfunc_Sort_IntHeapSort();
18863// User-implemented function from gstatic:amc.FDb.tfunc
18864// func:amc...tfunc_Sort_IntQuickSort
18865// this function is 'extrn' and implemented by user
18866void                 tfunc_Sort_IntQuickSort();
18867// User-implemented function from gstatic:amc.FDb.tfunc
18868// func:amc...tfunc_Sort_InsertionSort
18869// this function is 'extrn' and implemented by user
18870void                 tfunc_Sort_InsertionSort();
18871// User-implemented function from gstatic:amc.FDb.tfunc
18872// func:amc...tfunc_Sort_HeapSort
18873// this function is 'extrn' and implemented by user
18874void                 tfunc_Sort_HeapSort();
18875// User-implemented function from gstatic:amc.FDb.tfunc
18876// func:amc...tfunc_Sort_QuickSort
18877// this function is 'extrn' and implemented by user
18878void                 tfunc_Sort_QuickSort();
18879// User-implemented function from gstatic:amc.FDb.tfunc
18880// func:amc...tfunc_Step_FirstChanged
18881// this function is 'extrn' and implemented by user
18882void                 tfunc_Step_FirstChanged();
18883// User-implemented function from gstatic:amc.FDb.tfunc
18884// func:amc...tfunc_Step_Init
18885// this function is 'extrn' and implemented by user
18886void                 tfunc_Step_Init();
18887// User-implemented function from gstatic:amc.FDb.tfunc
18888// func:amc...tfunc_Step_UpdateCycles
18889// this function is 'extrn' and implemented by user
18890void                 tfunc_Step_UpdateCycles();
18891// User-implemented function from gstatic:amc.FDb.tfunc
18892// func:amc...tfunc_Step_Step
18893// this function is 'extrn' and implemented by user
18894void                 tfunc_Step_Step();
18895// User-implemented function from gstatic:amc.FDb.tfunc
18896// func:amc...tfunc_Step_Call
18897// this function is 'extrn' and implemented by user
18898void                 tfunc_Step_Call();
18899// User-implemented function from gstatic:amc.FDb.tfunc
18900// func:amc...tfunc_Step_SetDelay
18901// this function is 'extrn' and implemented by user
18902void                 tfunc_Step_SetDelay();
18903// User-implemented function from gstatic:amc.FDb.tfunc
18904// func:amc...tfunc_Substr_Get
18905// this function is 'extrn' and implemented by user
18906void                 tfunc_Substr_Get();
18907// User-implemented function from gstatic:amc.FDb.tfunc
18908// func:amc...tfunc_Substr_Get2
18909// this function is 'extrn' and implemented by user
18910void                 tfunc_Substr_Get2();
18911// User-implemented function from gstatic:amc.FDb.tfunc
18912// func:amc...tfunc_Tary_Eq
18913// this function is 'extrn' and implemented by user
18914void                 tfunc_Tary_Eq();
18915// User-implemented function from gstatic:amc.FDb.tfunc
18916// func:amc...tfunc_Tary_Cmp
18917// this function is 'extrn' and implemented by user
18918void                 tfunc_Tary_Cmp();
18919// User-implemented function from gstatic:amc.FDb.tfunc
18920// func:amc...tfunc_Tary_Addary
18921// this function is 'extrn' and implemented by user
18922void                 tfunc_Tary_Addary();
18923// User-implemented function from gstatic:amc.FDb.tfunc
18924// func:amc...tfunc_Tary_Alloc
18925// this function is 'extrn' and implemented by user
18926void                 tfunc_Tary_Alloc();
18927// User-implemented function from gstatic:amc.FDb.tfunc
18928// func:amc...tfunc_Tary_AllocAt
18929// this function is 'extrn' and implemented by user
18930void                 tfunc_Tary_AllocAt();
18931// User-implemented function from gstatic:amc.FDb.tfunc
18932// func:amc...tfunc_Tary_AllocN
18933// this function is 'extrn' and implemented by user
18934void                 tfunc_Tary_AllocN();
18935// User-implemented function from gstatic:amc.FDb.tfunc
18936// func:amc...tfunc_Tary_EmptyQ
18937// this function is 'extrn' and implemented by user
18938void                 tfunc_Tary_EmptyQ();
18939// User-implemented function from gstatic:amc.FDb.tfunc
18940// func:amc...tfunc_Tary_Find
18941// this function is 'extrn' and implemented by user
18942void                 tfunc_Tary_Find();
18943// User-implemented function from gstatic:amc.FDb.tfunc
18944// func:amc...tfunc_Tary_Getary
18945// this function is 'extrn' and implemented by user
18946void                 tfunc_Tary_Getary();
18947// User-implemented function from gstatic:amc.FDb.tfunc
18948// func:amc...tfunc_Tary_Init
18949// this function is 'extrn' and implemented by user
18950void                 tfunc_Tary_Init();
18951// User-implemented function from gstatic:amc.FDb.tfunc
18952// func:amc...tfunc_Tary_Last
18953// this function is 'extrn' and implemented by user
18954void                 tfunc_Tary_Last();
18955// User-implemented function from gstatic:amc.FDb.tfunc
18956// func:amc...tfunc_Tary_Max
18957// this function is 'extrn' and implemented by user
18958void                 tfunc_Tary_Max();
18959// User-implemented function from gstatic:amc.FDb.tfunc
18960// func:amc...tfunc_Tary_N
18961// this function is 'extrn' and implemented by user
18962void                 tfunc_Tary_N();
18963// User-implemented function from gstatic:amc.FDb.tfunc
18964// func:amc...tfunc_Tary_Remove
18965// this function is 'extrn' and implemented by user
18966void                 tfunc_Tary_Remove();
18967// User-implemented function from gstatic:amc.FDb.tfunc
18968// func:amc...tfunc_Tary_RemoveAll
18969// this function is 'extrn' and implemented by user
18970void                 tfunc_Tary_RemoveAll();
18971// User-implemented function from gstatic:amc.FDb.tfunc
18972// func:amc...tfunc_Tary_RemoveLast
18973// this function is 'extrn' and implemented by user
18974void                 tfunc_Tary_RemoveLast();
18975// User-implemented function from gstatic:amc.FDb.tfunc
18976// func:amc...tfunc_Tary_Reserve
18977// this function is 'extrn' and implemented by user
18978void                 tfunc_Tary_Reserve();
18979// User-implemented function from gstatic:amc.FDb.tfunc
18980// func:amc...tfunc_Tary_AbsReserve
18981// this function is 'extrn' and implemented by user
18982void                 tfunc_Tary_AbsReserve();
18983// User-implemented function from gstatic:amc.FDb.tfunc
18984// func:amc...tfunc_Tary_RowidFind
18985// this function is 'extrn' and implemented by user
18986void                 tfunc_Tary_RowidFind();
18987// User-implemented function from gstatic:amc.FDb.tfunc
18988// func:amc...tfunc_Tary_Print
18989// this function is 'extrn' and implemented by user
18990void                 tfunc_Tary_Print();
18991// User-implemented function from gstatic:amc.FDb.tfunc
18992// func:amc...tfunc_Tary_Setary
18993// this function is 'extrn' and implemented by user
18994void                 tfunc_Tary_Setary();
18995// User-implemented function from gstatic:amc.FDb.tfunc
18996// func:amc...tfunc_Tary_Setary2
18997// this function is 'extrn' and implemented by user
18998void                 tfunc_Tary_Setary2();
18999// User-implemented function from gstatic:amc.FDb.tfunc
19000// func:amc...tfunc_Tary_Uninit
19001// this function is 'extrn' and implemented by user
19002void                 tfunc_Tary_Uninit();
19003// User-implemented function from gstatic:amc.FDb.tfunc
19004// func:amc...tfunc_Tary_qFind
19005// this function is 'extrn' and implemented by user
19006void                 tfunc_Tary_qFind();
19007// User-implemented function from gstatic:amc.FDb.tfunc
19008// func:amc...tfunc_Tary_qLast
19009// this function is 'extrn' and implemented by user
19010void                 tfunc_Tary_qLast();
19011// User-implemented function from gstatic:amc.FDb.tfunc
19012// func:amc...tfunc_Tary_rowid_Get
19013// this function is 'extrn' and implemented by user
19014void                 tfunc_Tary_rowid_Get();
19015// User-implemented function from gstatic:amc.FDb.tfunc
19016// func:amc...tfunc_Tary_curs
19017// this function is 'extrn' and implemented by user
19018void                 tfunc_Tary_curs();
19019// User-implemented function from gstatic:amc.FDb.tfunc
19020// func:amc...tfunc_Tary_AllocNVal
19021// this function is 'extrn' and implemented by user
19022void                 tfunc_Tary_AllocNVal();
19023// User-implemented function from gstatic:amc.FDb.tfunc
19024// func:amc...tfunc_Tary_ReadStrptrMaybe
19025// this function is 'extrn' and implemented by user
19026void                 tfunc_Tary_ReadStrptrMaybe();
19027// User-implemented function from gstatic:amc.FDb.tfunc
19028// func:amc...tfunc_Thash_Cascdel
19029// this function is 'extrn' and implemented by user
19030void                 tfunc_Thash_Cascdel();
19031// User-implemented function from gstatic:amc.FDb.tfunc
19032// func:amc...tfunc_Thash_EmptyQ
19033// this function is 'extrn' and implemented by user
19034void                 tfunc_Thash_EmptyQ();
19035// User-implemented function from gstatic:amc.FDb.tfunc
19036// func:amc...tfunc_Thash_Find
19037// this function is 'extrn' and implemented by user
19038void                 tfunc_Thash_Find();
19039// User-implemented function from gstatic:amc.FDb.tfunc
19040// func:amc...tfunc_Thash_FindX
19041// this function is 'extrn' and implemented by user
19042void                 tfunc_Thash_FindX();
19043// User-implemented function from gstatic:amc.FDb.tfunc
19044// func:amc...tfunc_Thash_GetOrCreate
19045// this function is 'extrn' and implemented by user
19046void                 tfunc_Thash_GetOrCreate();
19047// User-implemented function from gstatic:amc.FDb.tfunc
19048// func:amc...tfunc_Thash_Init
19049// this function is 'extrn' and implemented by user
19050void                 tfunc_Thash_Init();
19051// User-implemented function from gstatic:amc.FDb.tfunc
19052// func:amc...tfunc_Thash_N
19053// this function is 'extrn' and implemented by user
19054void                 tfunc_Thash_N();
19055// User-implemented function from gstatic:amc.FDb.tfunc
19056// func:amc...tfunc_Thash_InsertMaybe
19057// this function is 'extrn' and implemented by user
19058void                 tfunc_Thash_InsertMaybe();
19059// User-implemented function from gstatic:amc.FDb.tfunc
19060// func:amc...tfunc_Thash_Remove
19061// this function is 'extrn' and implemented by user
19062void                 tfunc_Thash_Remove();
19063// User-implemented function from gstatic:amc.FDb.tfunc
19064// func:amc...tfunc_Thash_Reserve
19065// this function is 'extrn' and implemented by user
19066void                 tfunc_Thash_Reserve();
19067// User-implemented function from gstatic:amc.FDb.tfunc
19068// func:amc...tfunc_Thash_FindRemove
19069// this function is 'extrn' and implemented by user
19070void                 tfunc_Thash_FindRemove();
19071// User-implemented function from gstatic:amc.FDb.tfunc
19072// func:amc...tfunc_Thash_Uninit
19073// this function is 'extrn' and implemented by user
19074void                 tfunc_Thash_Uninit();
19075// User-implemented function from gstatic:amc.FDb.tfunc
19076// func:amc...tfunc_Thash_curs
19077// this function is 'extrn' and implemented by user
19078void                 tfunc_Thash_curs();
19079// User-implemented function from gstatic:amc.FDb.tfunc
19080// func:amc...tfunc_Tpool_AllocMem
19081// this function is 'extrn' and implemented by user
19082void                 tfunc_Tpool_AllocMem();
19083// User-implemented function from gstatic:amc.FDb.tfunc
19084// func:amc...tfunc_Tpool_FreeMem
19085// this function is 'extrn' and implemented by user
19086void                 tfunc_Tpool_FreeMem();
19087// User-implemented function from gstatic:amc.FDb.tfunc
19088// func:amc...tfunc_Tpool_Init
19089// this function is 'extrn' and implemented by user
19090void                 tfunc_Tpool_Init();
19091// User-implemented function from gstatic:amc.FDb.tfunc
19092// func:amc...tfunc_Tpool_Reserve
19093// this function is 'extrn' and implemented by user
19094void                 tfunc_Tpool_Reserve();
19095// User-implemented function from gstatic:amc.FDb.tfunc
19096// func:amc...tfunc_Tpool_ReserveMem
19097// this function is 'extrn' and implemented by user
19098void                 tfunc_Tpool_ReserveMem();
19099// User-implemented function from gstatic:amc.FDb.tfunc
19100// func:amc...tfunc_Upptr_Init
19101// this function is 'extrn' and implemented by user
19102void                 tfunc_Upptr_Init();
19103// User-implemented function from gstatic:amc.FDb.tfunc
19104// func:amc...tfunc_Val_Get
19105// this function is 'extrn' and implemented by user
19106void                 tfunc_Val_Get();
19107// User-implemented function from gstatic:amc.FDb.tfunc
19108// func:amc...tfunc_Val_Set
19109// this function is 'extrn' and implemented by user
19110void                 tfunc_Val_Set();
19111// User-implemented function from gstatic:amc.FDb.tfunc
19112// func:amc...tfunc_Val_Init
19113// this function is 'extrn' and implemented by user
19114void                 tfunc_Val_Init();
19115// User-implemented function from gstatic:amc.FDb.tfunc
19116// func:amc...tfunc_Val_RowidFind
19117// this function is 'extrn' and implemented by user
19118void                 tfunc_Val_RowidFind();
19119// User-implemented function from gstatic:amc.FDb.tfunc
19120// func:amc...tfunc_Val_N
19121// this function is 'extrn' and implemented by user
19122void                 tfunc_Val_N();
19123// User-implemented function from gstatic:amc.FDb.tfunc
19124// func:amc...tfunc_Varlen_Getary
19125// this function is 'extrn' and implemented by user
19126void                 tfunc_Varlen_Getary();
19127// User-implemented function from gstatic:amc.FDb.tfunc
19128// func:amc...tfunc_Varlen_Addr
19129// this function is 'extrn' and implemented by user
19130void                 tfunc_Varlen_Addr();
19131// User-implemented function from gstatic:amc.FDb.tfunc
19132// func:amc...tfunc_Varlen_N
19133// this function is 'extrn' and implemented by user
19134void                 tfunc_Varlen_N();
19135// User-implemented function from gstatic:amc.FDb.tfunc
19136// func:amc...tfunc_Varlen_ReadStrptrMaybe
19137// this function is 'extrn' and implemented by user
19138void                 tfunc_Varlen_ReadStrptrMaybe();
19139// User-implemented function from gstatic:amc.FDb.tfunc
19140// func:amc...tfunc_Varlen_curs
19141// this function is 'extrn' and implemented by user
19142void                 tfunc_Varlen_curs();
19143// User-implemented function from gstatic:amc.FDb.tfunc
19144// func:amc...tfunc_Varlen_Print
19145// this function is 'extrn' and implemented by user
19146void                 tfunc_Varlen_Print();
19147// User-implemented function from gstatic:amc.FDb.tfunc
19148// func:amc...tfunc_ZSListMT_DestructiveFirst
19149// this function is 'extrn' and implemented by user
19150void                 tfunc_ZSListMT_DestructiveFirst();
19151// User-implemented function from gstatic:amc.FDb.tfunc
19152// func:amc...tfunc_ZSListMT_InLlistQ
19153// this function is 'extrn' and implemented by user
19154void                 tfunc_ZSListMT_InLlistQ();
19155// User-implemented function from gstatic:amc.FDb.tfunc
19156// func:amc...tfunc_ZSListMT_Init
19157// this function is 'extrn' and implemented by user
19158void                 tfunc_ZSListMT_Init();
19159// User-implemented function from gstatic:amc.FDb.tfunc
19160// func:amc...tfunc_ZSListMT_Insert
19161// this function is 'extrn' and implemented by user
19162void                 tfunc_ZSListMT_Insert();
19163// User-implemented function from gstatic:amc.FDb.tfunc
19164// func:amc...tfunc_ZSListMT_Remove
19165// this function is 'extrn' and implemented by user
19166void                 tfunc_ZSListMT_Remove();
19167// User-implemented function from gstatic:amc.FDb.tfunc
19168// func:amc...tfunc_ZSListMT_RemoveFirst
19169// this function is 'extrn' and implemented by user
19170void                 tfunc_ZSListMT_RemoveFirst();
19171// User-implemented function from gstatic:amc.FDb.gen
19172// func:amc...gen_prep_signature
19173// this function is 'extrn' and implemented by user
19174void                 gen_prep_signature();
19175// User-implemented function from gstatic:amc.FDb.gen
19176// func:amc...gen_select_ns
19177// this function is 'extrn' and implemented by user
19178void                 gen_select_ns();
19179// User-implemented function from gstatic:amc.FDb.gen
19180// func:amc...gen_dispenum
19181// this function is 'extrn' and implemented by user
19182void                 gen_dispenum();
19183// User-implemented function from gstatic:amc.FDb.gen
19184// func:amc...gen_countxref
19185// this function is 'extrn' and implemented by user
19186void                 gen_countxref();
19187// User-implemented function from gstatic:amc.FDb.gen
19188// func:amc...gen_detectinst
19189// this function is 'extrn' and implemented by user
19190void                 gen_detectinst();
19191// User-implemented function from gstatic:amc.FDb.gen
19192// func:amc...gen_trace
19193// this function is 'extrn' and implemented by user
19194void                 gen_trace();
19195// User-implemented function from gstatic:amc.FDb.gen
19196// func:amc...gen_sortssimfile
19197// this function is 'extrn' and implemented by user
19198void                 gen_sortssimfile();
19199// User-implemented function from gstatic:amc.FDb.gen
19200// func:amc...gen_lookuppkey
19201// this function is 'extrn' and implemented by user
19202void                 gen_lookuppkey();
19203// User-implemented function from gstatic:amc.FDb.gen
19204// func:amc...gen_rewrite_regx
19205// this function is 'extrn' and implemented by user
19206void                 gen_rewrite_regx();
19207// User-implemented function from gstatic:amc.FDb.gen
19208// func:amc...gen_tableenum
19209// this function is 'extrn' and implemented by user
19210void                 gen_tableenum();
19211// User-implemented function from gstatic:amc.FDb.gen
19212// func:amc...gen_gconst
19213// this function is 'extrn' and implemented by user
19214void                 gen_gconst();
19215// User-implemented function from gstatic:amc.FDb.gen
19216// func:amc...gen_fast_presence
19217// this function is 'extrn' and implemented by user
19218void                 gen_fast_presence();
19219// User-implemented function from gstatic:amc.FDb.gen
19220// func:amc...gen_bitfldenum
19221// this function is 'extrn' and implemented by user
19222void                 gen_bitfldenum();
19223// User-implemented function from gstatic:amc.FDb.gen
19224// func:amc...gen_proc
19225// this function is 'extrn' and implemented by user
19226void                 gen_proc();
19227// User-implemented function from gstatic:amc.FDb.gen
19228// func:amc...gen_msgcurs
19229// this function is 'extrn' and implemented by user
19230void                 gen_msgcurs();
19231// User-implemented function from gstatic:amc.FDb.gen
19232// func:amc...gen_check_basefield
19233// this function is 'extrn' and implemented by user
19234void                 gen_check_basefield();
19235// User-implemented function from gstatic:amc.FDb.gen
19236// func:amc...gen_check_ssimsort
19237// this function is 'extrn' and implemented by user
19238void                 gen_check_ssimsort();
19239// User-implemented function from gstatic:amc.FDb.gen
19240// func:amc...gen_clonefconst
19241// this function is 'extrn' and implemented by user
19242void                 gen_clonefconst();
19243// User-implemented function from gstatic:amc.FDb.gen
19244// func:amc...gen_parsenum
19245// this function is 'extrn' and implemented by user
19246void                 gen_parsenum();
19247// User-implemented function from gstatic:amc.FDb.gen
19248// func:amc...gen_newfield_charset
19249// this function is 'extrn' and implemented by user
19250void                 gen_newfield_charset();
19251// User-implemented function from gstatic:amc.FDb.gen
19252// func:amc...gen_newfield_count
19253// this function is 'extrn' and implemented by user
19254void                 gen_newfield_count();
19255// User-implemented function from gstatic:amc.FDb.gen
19256// func:amc...gen_newfield_hook
19257// this function is 'extrn' and implemented by user
19258void                 gen_newfield_hook();
19259// User-implemented function from gstatic:amc.FDb.gen
19260// func:amc...gen_newfield_exec
19261// this function is 'extrn' and implemented by user
19262void                 gen_newfield_exec();
19263// User-implemented function from gstatic:amc.FDb.gen
19264// func:amc...gen_newfield_sortfld
19265// this function is 'extrn' and implemented by user
19266void                 gen_newfield_sortfld();
19267// User-implemented function from gstatic:amc.FDb.gen
19268// func:amc...gen_newfield_cbase
19269// this function is 'extrn' and implemented by user
19270void                 gen_newfield_cbase();
19271// User-implemented function from gstatic:amc.FDb.gen
19272// func:amc...gen_newfield_ptrary
19273// this function is 'extrn' and implemented by user
19274void                 gen_newfield_ptrary();
19275// User-implemented function from gstatic:amc.FDb.gen
19276// func:amc...gen_newfield_cfmt
19277// this function is 'extrn' and implemented by user
19278void                 gen_newfield_cfmt();
19279// User-implemented function from gstatic:amc.FDb.gen
19280// func:amc...gen_newfield_dispatch
19281// this function is 'extrn' and implemented by user
19282void                 gen_newfield_dispatch();
19283// User-implemented function from gstatic:amc.FDb.gen
19284// func:amc...gen_fieldid
19285// this function is 'extrn' and implemented by user
19286void                 gen_fieldid();
19287// User-implemented function from gstatic:amc.FDb.gen
19288// func:amc...gen_prep_field
19289// this function is 'extrn' and implemented by user
19290void                 gen_prep_field();
19291// User-implemented function from gstatic:amc.FDb.gen
19292// func:amc...gen_basepool
19293// this function is 'extrn' and implemented by user
19294void                 gen_basepool();
19295// User-implemented function from gstatic:amc.FDb.gen
19296// func:amc...gen_check_basepool
19297// this function is 'extrn' and implemented by user
19298void                 gen_check_basepool();
19299// User-implemented function from gstatic:amc.FDb.gen
19300// func:amc...gen_check_bigend
19301// this function is 'extrn' and implemented by user
19302void                 gen_check_bigend();
19303// User-implemented function from gstatic:amc.FDb.gen
19304// func:amc...gen_check_reftype
19305// this function is 'extrn' and implemented by user
19306void                 gen_check_reftype();
19307// User-implemented function from gstatic:amc.FDb.gen
19308// func:amc...gen_check_static
19309// this function is 'extrn' and implemented by user
19310void                 gen_check_static();
19311// User-implemented function from gstatic:amc.FDb.gen
19312// func:amc...gen_check_cheapcopy
19313// this function is 'extrn' and implemented by user
19314void                 gen_check_cheapcopy();
19315// User-implemented function from gstatic:amc.FDb.gen
19316// func:amc...gen_check_cascdel
19317// this function is 'extrn' and implemented by user
19318void                 gen_check_cascdel();
19319// User-implemented function from gstatic:amc.FDb.gen
19320// func:amc...gen_check_cpptype
19321// this function is 'extrn' and implemented by user
19322void                 gen_check_cpptype();
19323// User-implemented function from gstatic:amc.FDb.gen
19324// func:amc...gen_check_fcurs
19325// this function is 'extrn' and implemented by user
19326void                 gen_check_fcurs();
19327// User-implemented function from gstatic:amc.FDb.gen
19328// func:amc...gen_check_prefix
19329// this function is 'extrn' and implemented by user
19330void                 gen_check_prefix();
19331// User-implemented function from gstatic:amc.FDb.gen
19332// func:amc...gen_check_bitfld
19333// this function is 'extrn' and implemented by user
19334void                 gen_check_bitfld();
19335// User-implemented function from gstatic:amc.FDb.gen
19336// func:amc...gen_check_varlen
19337// this function is 'extrn' and implemented by user
19338void                 gen_check_varlen();
19339// User-implemented function from gstatic:amc.FDb.gen
19340// func:amc...gen_xref_parent
19341// this function is 'extrn' and implemented by user
19342void                 gen_xref_parent();
19343// User-implemented function from gstatic:amc.FDb.gen
19344// func:amc...gen_datafld
19345// this function is 'extrn' and implemented by user
19346void                 gen_datafld();
19347// User-implemented function from gstatic:amc.FDb.gen
19348// func:amc...gen_ctype_toposort
19349// this function is 'extrn' and implemented by user
19350void                 gen_ctype_toposort();
19351// User-implemented function from gstatic:amc.FDb.gen
19352// func:amc...gen_plaindata
19353// this function is 'extrn' and implemented by user
19354void                 gen_plaindata();
19355// User-implemented function from gstatic:amc.FDb.gen
19356// func:amc...gen_prep_ctype
19357// this function is 'extrn' and implemented by user
19358void                 gen_prep_ctype();
19359// User-implemented function from gstatic:amc.FDb.gen
19360// func:amc...gen_prep_fconst
19361// this function is 'extrn' and implemented by user
19362void                 gen_prep_fconst();
19363// User-implemented function from gstatic:amc.FDb.gen
19364// func:amc...gen_usedns
19365// this function is 'extrn' and implemented by user
19366void                 gen_usedns();
19367// User-implemented function from gstatic:amc.FDb.gen
19368// func:amc...gen_include
19369// this function is 'extrn' and implemented by user
19370void                 gen_include();
19371// User-implemented function from gstatic:amc.FDb.gen
19372// func:amc...gen_load_gstatic
19373// this function is 'extrn' and implemented by user
19374void                 gen_load_gstatic();
19375// User-implemented function from gstatic:amc.FDb.gen
19376// func:amc...gen_pmask
19377// this function is 'extrn' and implemented by user
19378void                 gen_pmask();
19379// User-implemented function from gstatic:amc.FDb.gen
19380// func:amc...gen_ssimdb
19381// this function is 'extrn' and implemented by user
19382void                 gen_ssimdb();
19383// User-implemented function from gstatic:amc.FDb.gen
19384// func:amc...gen_xref2
19385// this function is 'extrn' and implemented by user
19386void                 gen_xref2();
19387// User-implemented function from gstatic:amc.FDb.gen
19388// func:amc...gen_check_xref
19389// this function is 'extrn' and implemented by user
19390void                 gen_check_xref();
19391// User-implemented function from gstatic:amc.FDb.gen
19392// func:amc...gen_ns_enums
19393// this function is 'extrn' and implemented by user
19394void                 gen_ns_enums();
19395// User-implemented function from gstatic:amc.FDb.gen
19396// func:amc...gen_ns_pkeytypedef
19397// this function is 'extrn' and implemented by user
19398void                 gen_ns_pkeytypedef();
19399// User-implemented function from gstatic:amc.FDb.gen
19400// func:amc...gen_ns_tclass_field
19401// this function is 'extrn' and implemented by user
19402void                 gen_ns_tclass_field();
19403// User-implemented function from gstatic:amc.FDb.gen
19404// func:amc...gen_ns_fwddecl
19405// this function is 'extrn' and implemented by user
19406void                 gen_ns_fwddecl();
19407// User-implemented function from gstatic:amc.FDb.gen
19408// func:amc...gen_ns_fwddecl2
19409// this function is 'extrn' and implemented by user
19410void                 gen_ns_fwddecl2();
19411// User-implemented function from gstatic:amc.FDb.gen
19412// func:amc...gen_ns_gstatic
19413// this function is 'extrn' and implemented by user
19414void                 gen_ns_gstatic();
19415// User-implemented function from gstatic:amc.FDb.gen
19416// func:amc...gen_compute_size
19417// this function is 'extrn' and implemented by user
19418void                 gen_compute_size();
19419// User-implemented function from gstatic:amc.FDb.gen
19420// func:amc...gen_cget
19421// this function is 'extrn' and implemented by user
19422void                 gen_cget();
19423// User-implemented function from gstatic:amc.FDb.gen
19424// func:amc...gen_fcmap
19425// this function is 'extrn' and implemented by user
19426void                 gen_fcmap();
19427// User-implemented function from gstatic:amc.FDb.gen
19428// func:amc...gen_ns_include
19429// this function is 'extrn' and implemented by user
19430void                 gen_ns_include();
19431// User-implemented function from gstatic:amc.FDb.gen
19432// func:amc...gen_ns_gsymbol
19433// this function is 'extrn' and implemented by user
19434void                 gen_ns_gsymbol();
19435// User-implemented function from gstatic:amc.FDb.gen
19436// func:amc...gen_ns_size_enums
19437// this function is 'extrn' and implemented by user
19438void                 gen_ns_size_enums();
19439// User-implemented function from gstatic:amc.FDb.gen
19440// func:amc...gen_ns_tclass_ns
19441// this function is 'extrn' and implemented by user
19442void                 gen_ns_tclass_ns();
19443// User-implemented function from gstatic:amc.FDb.gen
19444// func:amc...gen_ns_tclass_ctype
19445// this function is 'extrn' and implemented by user
19446void                 gen_ns_tclass_ctype();
19447// User-implemented function from gstatic:amc.FDb.gen
19448// func:amc...gen_ns_check_path
19449// this function is 'extrn' and implemented by user
19450void                 gen_ns_check_path();
19451// User-implemented function from gstatic:amc.FDb.gen
19452// func:amc...gen_ns_check_pack
19453// this function is 'extrn' and implemented by user
19454void                 gen_ns_check_pack();
19455// User-implemented function from gstatic:amc.FDb.gen
19456// func:amc...gen_ns_check_nstype
19457// this function is 'extrn' and implemented by user
19458void                 gen_ns_check_nstype();
19459// User-implemented function from gstatic:amc.FDb.gen
19460// func:amc...gen_ns_check_main
19461// this function is 'extrn' and implemented by user
19462void                 gen_ns_check_main();
19463// User-implemented function from gstatic:amc.FDb.gen
19464// func:amc...gen_ns_fast
19465// this function is 'extrn' and implemented by user
19466void                 gen_ns_fast();
19467// User-implemented function from gstatic:amc.FDb.gen
19468// func:amc...gen_ns_dispatch
19469// this function is 'extrn' and implemented by user
19470void                 gen_ns_dispatch();
19471// User-implemented function from gstatic:amc.FDb.gen
19472// func:amc...gen_ns_pnew
19473// this function is 'extrn' and implemented by user
19474void                 gen_ns_pnew();
19475// User-implemented function from gstatic:amc.FDb.gen
19476// func:amc...gen_ns_funcindex
19477// this function is 'extrn' and implemented by user
19478void                 gen_ns_funcindex();
19479// User-implemented function from gstatic:amc.FDb.gen
19480// func:amc...gen_ns_print_proto
19481// this function is 'extrn' and implemented by user
19482void                 gen_ns_print_proto();
19483// User-implemented function from gstatic:amc.FDb.gen
19484// func:amc...gen_ns_print_struct
19485// this function is 'extrn' and implemented by user
19486void                 gen_ns_print_struct();
19487// User-implemented function from gstatic:amc.FDb.gen
19488// func:amc...gen_ns_curstext
19489// this function is 'extrn' and implemented by user
19490void                 gen_ns_curstext();
19491// User-implemented function from gstatic:amc.FDb.gen
19492// func:amc...gen_ns_func
19493// this function is 'extrn' and implemented by user
19494void                 gen_ns_func();
19495// User-implemented function from gstatic:amc.FDb.gen
19496// func:amc...gen_ns_operators
19497// this function is 'extrn' and implemented by user
19498void                 gen_ns_operators();
19499// User-implemented function from gstatic:amc.FDb.gen
19500// func:amc...gen_ns_check_lim
19501// this function is 'extrn' and implemented by user
19502void                 gen_ns_check_lim();
19503// User-implemented function from gstatic:amc.FDb.gen
19504// func:amc...gen_ns_write
19505// this function is 'extrn' and implemented by user
19506void                 gen_ns_write();
19507// func:amc...StaticCheck
19508void                 StaticCheck();
19509} // gen:ns_func
19510// func:amc...main
19511int                  main(int argc, char **argv);
19512#if defined(WIN32)
19513// func:amc...WinMain
19514int WINAPI           WinMain(HINSTANCE,HINSTANCE,LPSTR,int);
19515#endif
19516// gen:ns_operators
19517namespace algo {
19518inline algo::cstring &operator <<(algo::cstring &str, const amc::BltinId &row);// cfmt:amc.BltinId.String
19519inline algo::cstring &operator <<(algo::cstring &str, const amc::Enumstr &row);// cfmt:amc.Enumstr.String
19520inline algo::cstring &operator <<(algo::cstring &str, const amc::trace &row);// cfmt:amc.trace.String
19521inline algo::cstring &operator <<(algo::cstring &str, const amc::FieldId &row);// cfmt:amc.FieldId.String
19522inline algo::cstring &operator <<(algo::cstring &str, const amc::Pnewtype &row);// cfmt:amc.Pnewtype.String
19523inline algo::cstring &operator <<(algo::cstring &str, const amc::TableId &row);// cfmt:amc.TableId.String
19524}